Страница 1 из 1

Выключение ubuntu server с мдм

Добавлено: Сб апр 20, 2019 9:02 am
yden
Здравствуйте.
Подскажите пожалуйста, затупил. Vlv стоит на ubuntu server 16.04. Редактирую с коннекта скрипт перезагрузки и выключения сервера.
Перезагрузка:

Код: Выделить всё

say('Подготовка к перезагрузке',200);
say('Сервер будет перезагружен через 30 секунд',200);
say('Сохранение базы данных',200);
$filename  = '/var/www/backup/db.sql';
$mysqlDumpPath = "/usr/bin/mysqldump";
$mysqlDumpParam = "root" . DB_USER . "***" . DB_PASSWORD;
$mysqlDumpParam .= " --no-create-db --add-drop-table --databases " . DB_NAME;
if (file_exists($filename)) rename($filename, $filename . '.prev');
exec($mysqlDumpPath . $mysqlDumpParam . " > " . $filename);
setTimeout("shutdownTimer","safe_exec('sudo shutdown -r now');",30); //перезагрузка через 30 сек. 
Не въехал, что переделать для выключения сервера и как дать права выполнить запуск скрипта без ввода пароля.

Благодарю

Re: Выключение ubuntu server с мдм

Добавлено: Вс апр 21, 2019 9:01 am
gans
Можно вот так выключить, без sudo:

Код: Выделить всё

$filename  = ROOT . '/database_backup/db.sql';
$mysqlDumpPath = "/usr/bin/mysqldump";
$mysqlDumpParam = " --user=" . DB_USER . " --password=" . DB_PASSWORD;
$mysqlDumpParam .= " --no-create-db --add-drop-table --databases " . DB_NAME;
if (file_exists($filename)) rename($filename, $filename . '.prev');
exec($mysqlDumpPath . $mysqlDumpParam . " > " . $filename);
say("Подготовка к выключению",2);
setTimeout("shutdownTimer","safe_exec('systemctl poweroff');",15); 
И перезагрузка соответственно без пароля:

Код: Выделить всё

safe_exec ('systemctl reboot');

Re: Выключение ubuntu server с мдм

Добавлено: Пт мар 27, 2020 6:39 am
Yojiq
gans писал(а):
Вс апр 21, 2019 9:01 am
Можно вот так выключить, без sudo:

Код: Выделить всё

$filename  = ROOT . '/database_backup/db.sql';
$mysqlDumpPath = "/usr/bin/mysqldump";
$mysqlDumpParam = " --user=" . DB_USER . " --password=" . DB_PASSWORD;
$mysqlDumpParam .= " --no-create-db --add-drop-table --databases " . DB_NAME;
if (file_exists($filename)) rename($filename, $filename . '.prev');
exec($mysqlDumpPath . $mysqlDumpParam . " > " . $filename);
say("Подготовка к выключению",2);
setTimeout("shutdownTimer","safe_exec('systemctl poweroff');",15); 
user и password от php вводить ?
DB_NAME - где подсмотреть ?

Re: Выключение ubuntu server с мдм

Добавлено: Пт мар 27, 2020 10:35 am
skysilver
Yojiq писал(а):
Пт мар 27, 2020 6:39 am
user и password от php вводить ?
DB_NAME - где подсмотреть ?
Не нужно. DB_USER, DB_PASSWORD и DB_NAME - это переменные окружения MajorDoMo. Их значения сами подставятся при выполнении сценария.

Re: Выключение ubuntu server с мдм

Добавлено: Пт мар 27, 2020 2:34 pm
iden
skysilver писал(а):
Пт мар 27, 2020 10:35 am
Yojiq писал(а):
Пт мар 27, 2020 6:39 am
user и password от php вводить ?
DB_NAME - где подсмотреть ?
Не нужно. DB_USER, DB_PASSWORD и DB_NAME - это переменные окружения MajorDoMo. Их значения сами подставятся при выполнении сценария.
подскажи неучу, куда этот код девать для корректного выключения? Думал через сценарий, не работает
СпойлерПоказать

Код: Выделить всё

$filename  = ROOT . '/database_backup/db.sql';
$mysqlDumpPath = "/usr/bin/mysqldump";
$mysqlDumpParam = " --user=" . DB_USER . " --password=" . DB_PASSWORD;
$mysqlDumpParam .= " --no-create-db --add-drop-table --databases " . DB_NAME;
if (file_exists($filename)) rename($filename, $filename . '.prev');
exec($mysqlDumpPath . $mysqlDumpParam . " > " . $filename);
say("Подготовка к выключению",2);
setTimeout("shutdownTimer","safe_exec('systemctl poweroff');",15); 

Re: Выключение ubuntu server с мдм

Добавлено: Пт мар 27, 2020 2:40 pm
skysilver
iden писал(а):
Пт мар 27, 2020 2:34 pm
подскажи неучу, куда этот код девать для корректного выключения? Думал через сценарий, не работает
Хоть в сценарий, хоть в метод, хоть прямо в код кнопки, которая в Меню, на Сцене или в Телеграмме.

Отладить удобно в сценарии. Весь вопрос в том, что именно не работает. Бэкап не создается, таймер на выключение не запускается, или сервер в shutdown не уходит?

Re: Выключение ubuntu server с мдм

Добавлено: Пт мар 27, 2020 2:44 pm
iden
skysilver писал(а):
Пт мар 27, 2020 2:40 pm
iden писал(а):
Пт мар 27, 2020 2:34 pm
подскажи неучу, куда этот код девать для корректного выключения? Думал через сценарий, не работает
Хоть в сценарий, хоть в метод, хоть прямо в код кнопки, которая в Меню, на Сцене или в Телеграмме.

Отладить удобно в сценарии. Весь вопрос в том, что именно не работает. Бэкап не создается, таймер на выключение не запускается, или сервер в shutdown не уходит?
вообще ничего не работает, в тегу напишу)
рад что ты вернулся!

Re: Выключение ubuntu server с мдм

Добавлено: Пт мар 27, 2020 10:11 pm
Yojiq
skysilver писал(а):
Пт мар 27, 2020 10:35 am

Не нужно. DB_USER, DB_PASSWORD и DB_NAME - это переменные окружения MajorDoMo. Их значения сами подставятся при выполнении сценария.
спасибо за ответ
все работает, только время мне кажется больше чем 15 секунд проходит пока скрипт пройдет, возможно на выполнение много ресурсов у меня тратится (слабая машина)

Re: Выключение ubuntu server с мдм

Добавлено: Пт мар 27, 2020 11:18 pm
Nail
gans писал(а):
Вс апр 21, 2019 9:01 am
Можно вот так выключить, без sudo:

Код: Выделить всё

$filename  = ROOT . '/database_backup/db.sql';
$mysqlDumpPath = "/usr/bin/mysqldump";
$mysqlDumpParam = " --user=" . DB_USER . " --password=" . DB_PASSWORD;
$mysqlDumpParam .= " --no-create-db --add-drop-table --databases " . DB_NAME;
if (file_exists($filename)) rename($filename, $filename . '.prev');
exec($mysqlDumpPath . $mysqlDumpParam . " > " . $filename);
say("Подготовка к выключению",2);
setTimeout("shutdownTimer","safe_exec ('systemctl reboot');",15); 
А на Ubuntu Desktop 18.04.4 (64-bit) перезагрузка подойдёт ?