Архив рубрики: WEB

Сохранение конфигурации Dlink в файл через SNMP

Иногда требуется на всякий случай иметь бекапы конфигурации работающих в данный момент свичей. Один из вариантов — поднимаем сервер TFTP и просим свич сохранить свою конфигурацию на него.

Пример скрипта:

      PutLog("-- Стартуем сохранение конфиги у $device_name");    
      $cm="snmpset -v2c -c X-Files $ip 1.3.6.1.4.1.171.12.1.2.18.1.1.3.3 a $tftpserver";
      PutLog("--- устанавливаем tftp сервер: $cm");    
      $rez=`$cm`;      
      if (strripos($rez,"IpAddress")>0){
        $cm="snmpset -v2c -c X-Files $ip 1.3.6.1.4.1.171.12.1.2.18.1.1.5.3 s $device_name.cfg";
        PutLog("---- устанавливаем имя файла: $cm");              
        $rez=`$cm`;      
        if (strripos($rez,"STRING")>0){
            $cm="snmpset -v2c -c X-Files $ip 1.3.6.1.4.1.171.12.1.2.18.1.1.8.3 i 2";
            PutLog("----- устанавливаем конфиг для сохранения: $cm");              
            $rez=`$cm`;                  
            if (strripos($rez,"INTEGER")>0){
                $cm="snmpset -v2c -c X-Files $ip 1.3.6.1.4.1.171.12.1.2.18.1.1.12.3 i 3";
                PutLog("----- сохраняем конфиг : $cm");              
                $rez=`$cm`;                  
              if (strripos($rez,"INTEGER")>0){                
                  sleep(10);
                  //переименуем полученный файл
                  $newname=$device_name.Date("-Y-m-d-H-i");
                  $rez=`mv /var/tftp/$device_name.cfg /var/tftp/$newname.cfg`;
                   echo "$rez\n";
                  //добавим в архив
                  $rez=`zip /var/tftp/$device_name.zip -m /var/tftp/$newname.cfg`;
                  echo "$rez\n";
              } else {
               PutLog("-- ОШИБКА сохранения конфига");    
            };
            } else {
            PutLog("-- ОШИБКА установки конфига");    
            };            
        } else {
        PutLog("-- ОШИБКА установки имени файла");    
      };
      } else {
        PutLog("-- ОШИБКА установки tftp сервера у $device_name");    
      };

Обновление Firefox на Ubuntu до 56 — не открываются сайты

После обновления Firefox до 56 версии внезапно перестали открываться сайты. Вообще. Даже localhost. Удаление кеша не помогло.Помогло только удаление папки .firefox из домашней директории. Снеслись

JavaScript проверка попадания в рабочее время

Например, нам нужно, чтобы какаято часть страницы работала исключительно в рабочее время. Для этого реализуем проверку «попадания» в рабочее время.

<script>
//зададим рабочее время
worktime=[]
worktime[0]={start:10,end:23}; //воскресенье с 10 до 23
worktime[6]={start:10,end:23}; //суббота с 10 до 23
worktime[4]={start:10,end:23}; //четверг с 10 до 23
    
function IsWorkTime(worktime){
  var dt=new Date();
  var w=dt.getDay();
  if (typeof(worktime[w])!="undefined"){
      if (dt.getHours()>=worktime[w].start&dt.getHours()<=worktime[w].end){
	console.log("работаем!");
	return true;  	  	  
      } else {
	console.log("в это время не работаем!");
	return false;  	  
      };      
  } else {
    console.log("в этот день недели не работаем!");
    return false;  
  };
};
alert(IsWorkTime(worktime));
</script>   

Резиновый виджет vk

По умолчанию виджет который предлагается vk для установке, не «резиновый». Исправляем:

<div id="vk_widget"></div>
		<script type="text/javascript" src="//vk.com/js/api/openapi.js?116"></script>
		<script>
		    function VK_Widget_Init(){
			document.getElementById('vk_widget').innerHTML = '<div id="vk_groups"></div>';
			VK.Widgets.Group("vk_groups", {mode: 0, width: "auto", height: "400"}, 128460609);
		    };
		    window.addEventListener('load', VK_Widget_Init, false);
		    window.addEventListener('resize', VK_Widget_Init, false);
		</script>