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

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

Модератор: immortal

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

Выключение 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
Сообщения: 37
Зарегистрирован: Вс янв 06, 2013 2:57 pm
Благодарил (а): 15 раз
Поблагодарили: 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.49%
Аватара пользователя
Yojiq
Сообщения: 18
Зарегистрирован: Пт янв 17, 2020 10:44 am
Откуда: Славянск
Благодарил (а): 4 раза
Поблагодарили: 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
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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
Сообщения: 84
Зарегистрирован: Вт мар 13, 2018 1:51 pm
Благодарил (а): 34 раза
Поблагодарили: 6 раз

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

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
Сообщения: 84
Зарегистрирован: Вт мар 13, 2018 1:51 pm
Благодарил (а): 34 раза
Поблагодарили: 6 раз

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

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

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

Отладить удобно в сценарии. Весь вопрос в том, что именно не работает. Бэкап не создается, таймер на выключение не запускается, или сервер в shutdown не уходит?
вообще ничего не работает, в тегу напишу)
рад что ты вернулся!
Аватара пользователя
Yojiq
Сообщения: 18
Зарегистрирован: Пт янв 17, 2020 10:44 am
Откуда: Славянск
Благодарил (а): 4 раза
Поблагодарили: 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
Сообщения: 376
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 174 раза
Поблагодарили: 28 раз

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 Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS DIN Mini. Broadlink.
Ответить