drhellp

 
<<< Back

Включение, выключение компьютеров по сети

Включение, выключение компьютеров по сети в ос linux(debian)

Необходимые пакеты в системе wakeonlan, sshpass, php-cli.
Для включения компьтеры должны быть в одной сети, в опциях BIOS включаемого компьютера разрешено включение по сети.
Пользователю www-data разрешаем запуск wakeonlan и sshpass, через sudoers.
Создаем сценарий onOff.

if ($params['sw'] == 'on') {
    exec("/usr/bin/wakeonlan -i 255.255.255.255 " . $params['mac']);
} elseif ($params['sw'] == 'off') {
    exec("/usr/bin/sshpass -p " . $params['pass'] . " ssh -o StrictHostKeyChecking=no " . $params['user'] . "@" . $params['ip'] . " \"echo " . $params['user'] . "@ | sudo -S poweroff\"");
}

Вызов скрипта для включения требует указания только параметров sw и mac, для выключения компьютера на базе ос linux необходимы параметры sw, ip, user, pass. Также нужно разрешить пользователю на удаленном компьютере через sudoers использовать команду sudo poweroff.

// Параметры
$data = [
    'sw' => 'off', // on - включить, off - выключить
    'mac' => '00:11:22:33:44:55', // MAC адрес на удаленном компьютере
    'ip' => '192.168.0.12', // IP на удаленном компьютере
    'user' => 'user', // ваш логин на удаленном компьютере
    'pass' => 'password' // ваш пароль на удаленном компьютере
    ];
runScript('onOff', $data);

Discuss (0) (4)

See also:
2019-07-15 Чтение параметров интернет соединения

Тверь, Россия