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

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
yden
Сообщения: 84
Зарегистрирован: Пн авг 22, 2016 10:03 am
Благодарил (а): 14 раз
Поблагодарили: 1 раз

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

Сообщение yden » Сб апр 20, 2019 9:02 am

Здравствуйте.
Подскажите пожалуйста, затупил. 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 сек. 
Не въехал, что переделать для выключения сервера и как дать права выполнить запуск скрипта без ввода пароля.

Благодарю
gans
Сообщения: 36
Зарегистрирован: Вс янв 06, 2013 2:57 pm
Благодарил (а): 13 раз
Поблагодарили: 3 раза

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

Сообщение 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); 
И перезагрузка соответственно без пароля:

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

safe_exec ('systemctl reboot');
За это сообщение автора gans поблагодарили (всего 3):
yden (Вс апр 21, 2019 2:53 pm) • ipc2002 (Ср апр 24, 2019 9:41 pm) • Amarok (Сб ноя 09, 2019 8:03 am)
Рейтинг: 3.75%
Yojiq
Сообщения: 6
Зарегистрирован: Пт янв 17, 2020 10:44 am
Благодарил (а): 1 раз
Поблагодарили: 0

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

Сообщение Yojiq » Пт мар 27, 2020 6:39 am

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 - где подсмотреть ?
skysilver
Сообщения: 2777
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 359 раз
Поблагодарили: 1592 раза
Контактная информация:

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

Сообщение skysilver » Пт мар 27, 2020 10:35 am

Yojiq писал(а):
Пт мар 27, 2020 6:39 am
user и password от php вводить ?
DB_NAME - где подсмотреть ?
Не нужно. DB_USER, DB_PASSWORD и DB_NAME - это переменные окружения MajorDoMo. Их значения сами подставятся при выполнении сценария.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
iden
Сообщения: 61
Зарегистрирован: Вт мар 13, 2018 1:51 pm
Благодарил (а): 33 раза
Поблагодарили: 3 раза

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

Сообщение iden » Пт мар 27, 2020 2:34 pm

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); 
skysilver
Сообщения: 2777
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 359 раз
Поблагодарили: 1592 раза
Контактная информация:

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

Сообщение skysilver » Пт мар 27, 2020 2:40 pm

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

Отладить удобно в сценарии. Весь вопрос в том, что именно не работает. Бэкап не создается, таймер на выключение не запускается, или сервер в shutdown не уходит?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
iden
Сообщения: 61
Зарегистрирован: Вт мар 13, 2018 1:51 pm
Благодарил (а): 33 раза
Поблагодарили: 3 раза

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

Сообщение iden » Пт мар 27, 2020 2:44 pm

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

Отладить удобно в сценарии. Весь вопрос в том, что именно не работает. Бэкап не создается, таймер на выключение не запускается, или сервер в shutdown не уходит?
вообще ничего не работает, в тегу напишу)
рад что ты вернулся!
Yojiq
Сообщения: 6
Зарегистрирован: Пт янв 17, 2020 10:44 am
Благодарил (а): 1 раз
Поблагодарили: 0

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

Сообщение Yojiq » Пт мар 27, 2020 10:11 pm

skysilver писал(а):
Пт мар 27, 2020 10:35 am

Не нужно. DB_USER, DB_PASSWORD и DB_NAME - это переменные окружения MajorDoMo. Их значения сами подставятся при выполнении сценария.
спасибо за ответ
все работает, только время мне кажется больше чем 15 секунд проходит пока скрипт пройдет, возможно на выполнение много ресурсов у меня тратится (слабая машина)
Аватара пользователя
Nail
Сообщения: 269
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 114 раз
Поблагодарили: 14 раз

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

Сообщение Nail » Пт мар 27, 2020 11:18 pm

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) перезагрузка подойдёт ?
Mini AMD A6 1450 Quad-core.Ubuntu Desktop 18.04.4 (64-bit). MegaD. Zigbee2mqtt+SLS ZigBee Gateway. Broadlink.
Ответить