Перейти к содержанию
Форум русской поддержки продукции Synology

Рекомендованные сообщения

Можно ли реализовать такую схему: synology server пробуждает по WON определенный комп в заданное время в локальной сети? если да, то как?

Ссылка на сообщение
Поделиться на другие сайты

NAS от Synology основан на Linux. Соответственно никто не мешает написать свое приложение.

Если вопрос о готовом функционале - то мне такого не встречалось.

Ссылка на сообщение
Поделиться на другие сайты

Можно. Готовых решений уйма. Любой скрипт берите и запускайте планировщиком(или в консоли кроном). Кстати этот скрипт прямо в планировщике написать можно. Лично у меня есть скрипт wol на PHP, выложу чуть позже, как доберусь до компа.

Ссылка на сообщение
Поделиться на другие сайты

Вот, собственно, и код запуска устройств по протоколу WoL на php. В третьей строчке указан автор. В конце кода, выделенное жирным красным, заменить на свое. Суёте это в папку web, переходите в браузере на этот скрипт, и он запустит устройство. Или прописываете его в кроне, и он по расписанию выполнится. Можно поискать примеры и на баш.

<?
# Wake on LAN - © HotKey@spr.at, upgraded by Murzik
# Modified by Allan Barizo http://www.hackernotcracker.com
flush();
function WakeOnLan($addr, $mac,$socket_number) {
 $addr_byte = explode(':', $mac);
 $hw_addr = '';
 for ($a=0; $a <6; $a++) $hw_addr .= chr(hexdec($addr_byte[$a]));
 $msg = chr(255).chr(255).chr(255).chr(255).chr(255).chr(255);
 for ($a = 1; $a <= 16; $a++) $msg .= $hw_addr;
 // send it to the broadcast address using UDP
 // SQL_BROADCAST option isn't help!!
 $s = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
 if ($s == false) {
   echo "Error creating socket!\n";
   echo "Error code is '".socket_last_error($s)."' - " . socket_strerror(socket_last_error($s));
   return FALSE;
   }
 else {
   // setting a broadcast option to socket:
   $opt_ret = socket_set_option($s, 1, 6, TRUE);
   if($opt_ret <0) {
     echo "setsockopt() failed, error: " . strerror($opt_ret) . "\n";
     return FALSE;
     }
   if(socket_sendto($s, $msg, strlen($msg), 0, $addr, $socket_number)) {
     echo "Magic Packet sent successfully!";
     socket_close($s);
     return TRUE;
     }
   else {
     echo "Magic packet failed!";
     return FALSE;
     }
  
   }
 }
// Port number where the computer is listening. Usually, any number between 1-50000 will do. Normally people choose 7 or 9.
$socket_number = "7";
// MAC Address of the listening computer's network device
$mac_addy = "00:00:00:00:00:00";
// IP address of the listening computer. Input the domain name if you are using a hostname (like when under Dynamic DNS/IP)
$ip_addy = gethostbyname("192.168.000.000");

WakeOnLan($ip_addy, $mac_addy,$socket_number)


?>

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в этой теме...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...
×
×
  • Создать...