Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: crontab не выключает компьютер, что я делаю не так?  (Прочитано 1664 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн большевик

  • Автор темы
  • Участник
  • *
  • Сообщений: 206
    • Просмотр профиля
Здравствуйте!

Создал задание в crontab
0-59 * * * * /home/freeman/Документы/SOFT/shutdown.sh
вот сожержимое исполняемого файла
#!/bin/bash
DISPLAY=:0 gdialog --msgbox "is shutdown.sh 01" 25 5 > /dev/null
shutdown now > /dev/null
DISPLAY=:0 gdialog --msgbox "is shutdown.sh 02" 25 5 > /dev/null
shutdown
DISPLAY=:0 gdialog --msgbox "is shutdown.sh 03" 25 5 > /dev/null
shutdown -P
DISPLAY=:0 gdialog --msgbox "is shutdown.sh 04" 25 5 > /dev/null
shutdown -P
DISPLAY=:0 gdialog --msgbox "is shutdown.sh 05" 25 5 > /dev/null
shutdown --no-wal
DISPLAY=:0 gdialog --msgbox "is shutdown.sh 06" 25 5 > /dev/null
shutdown -h now
DISPLAY=:0 gdialog --msgbox "is shutdown.sh 07" 25 5 > /dev/null
poweroff
DISPLAY=:0 gdialog --msgbox "is shutdown.sh 08" 25 5 > /dev/null
halt
DISPLAY=:0 gdialog --msgbox "is shutdown.sh 09" 25 5 > /dev/null
init 0
DISPLAY=:0 gdialog --msgbox "is shutdown.sh 10" 25 5 > /dev/null

Исполняемый файл запускается - выводятся последовательно окна с сообщениями - от 01 до 10
но ни одна из команд отключения компьютера не срабатывает.

При этом если я запускаю исполняемый файл не через крон, а сам, из терминала вот так
/home/freeman/Документы/SOFT/shutdown.shто выключение компа нормально срабатывает.

ОС Ubuntu 18.04.1 LTS

Что я делаю не так?
Ubuntu 24.04.1 LTS,   
(AMD Ryzen™ 7 5700G, ОЗУ: 32,0 ГиБ)

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
Вы не указали в crontab пользователя, от которого должен выполнятся скрипт.

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
большевик,
(Нажмите, чтобы показать/скрыть)

Оффлайн большевик

  • Автор темы
  • Участник
  • *
  • Сообщений: 206
    • Просмотр профиля
ecc83,
Вы не указали в crontab пользователя, от которого должен выполнятся скрипт.

а в каком месте нужно указывать имя пользователя? можете пример написать?
(я пробовал писать
Цитировать
так 0-59 * * * * root /home/freeman/Документы/SOFT/shutdown.sh
- не работает,
также пробовал задавать настройку вот так sudo crontab -u root -e - тоже не сработало..


Пользователь добавил сообщение 02 Ноября 2018, 21:16:10:
ReNzRv, так не сработало..

написал в исполняемом файле systemctl shutdown  вместо shutdown -PРезультат: по-прежнему выводятся все сообщения но комп так и не выключается..
« Последнее редактирование: 02 Ноября 2018, 21:41:48 от большевик »
Ubuntu 24.04.1 LTS,   
(AMD Ryzen™ 7 5700G, ОЗУ: 32,0 ГиБ)

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
а в каком месте нужно указывать имя пользователя? можете пример написать?

В файле /etc/crontab пишете такие строки:

DISPLAY=:0
59 0  * * * root /home/freeman/Документы/SOFT/shutdown.sh
« Последнее редактирование: 02 Ноября 2018, 22:20:25 от ecc83 »

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Цитировать
так не сработало..
из терминала работает?

Оффлайн garek

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
запрос пароля отключить в sudoers
недостаточно дружелюбен к старичкам

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
запрос пароля отключить в sudoers

Для чего? Событие от root в crontab не запрашивает пароль.

Оффлайн большевик

  • Автор темы
  • Участник
  • *
  • Сообщений: 206
    • Просмотр профиля
Цитировать
так не сработало..
из терминала работает?

Из терминала напрямую все команды работают. Не срабатывает именно при запуске скрипта кроном, если настроено так как описал выше.

Пользователь добавил сообщение 03 Ноября 2018, 12:00:50:
а в каком месте нужно указывать имя пользователя? можете пример написать?

В файле /etc/crontab пишете такие строки:

DISPLAY=:0
59 0  * * * root /home/freeman/Документы/SOFT/shutdown.sh

Вот это сработало. Комп выключается. Спасибо!

P.S. жаль, конечно, что выключение компа не получается реализовать с помощью обычно запуска настроек crontab -u который рекомендуют во всех статьях про cron которые я встречал.. Но что-ж - будем значит настраивать через /etc/crontab  =)

Ещё раз спасибо!
« Последнее редактирование: 03 Ноября 2018, 12:00:50 от большевик »
Ubuntu 24.04.1 LTS,   
(AMD Ryzen™ 7 5700G, ОЗУ: 32,0 ГиБ)

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
жаль, конечно, что выключение компа не получается реализовать с помощью обычно запуска настроек crontab -u который рекомендуют во всех статьях про cron которые я встречал..

Можно и так:

sudo crontab -e
В открывшийся файл пишите:

0-59 * * * * /sbin/poweroff
#

 

Страница сгенерирована за 0.016 секунд. Запросов: 19.