Задать вопрос
@fuzzZy23

Не работает Cron. Перезагрузка сервера. Что я делаю не так?

Добрый день.

На сервере установлен CentOS release 6.7 (Final). С Linux я сталкиваюсь впервые, познаний ноль. Все на уровне "гуголь" и логики. Поэтому, прошу совета:

Задача банальна: необходима перезагрузка сервера ежедневно в 07:00.

Сделано:
1. Создал скрипт по пути
etc/scripts/shoutdown.sh

2. Сделал shoutdown.sh исполняемым
3. В shoutdown.sh прописал скрипт
shoutdown -r now

3. С помощью MC, прописал cron
0 7 * * * /etc/scripts/shoutdown.sh

в файле root, по адресу
/var/spool/cron


Что пробовал:
1. Не смог разобраться, где посмотреть лог работы сервера, поставил ip на пинг на ночь. Пакетов потерянных не было, следовательно сервер не перезагружался.
2. Вручную запустил скрипт командой
sh /etc/scritpts/shoutdown.sh

Сервер ушел в ребут. Т.е. скрипт рабочий. Значит проблема в cron.
3. Нашел лог cron. В нем напоминание о скрипте в 07:00:01 имеется
cf15d0e11af0494f966b9c45d516f59c.png
4. Команда crontab -l показывает мою команду.
5. При вводе crontab -e вижу это:
dd550efdae1646b1890516c2934c2f9d.png
Что я делаю не так?
  • Вопрос задан
  • 6595 просмотров
Подписаться 2 Оценить 4 комментария
Решения вопроса 2
p1r4te
@p1r4te
Sysadmin, Linux, Nginx
Добрый день. У вас опечатка в скрипте (shOutdown). Попробуйте:
touch /home/username/shutdown.sh
----------
#!/bin/bash
shutdown -r 0
----------
sudo chmod +x /home/username/shutdown.sh

Затем пишите:
sudo -i //логинмся под рутом
crontab -e //редактируем кронтаб
0 7 * * * /home/username/shutdown.sh
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Либо скрипт надо запускать явно указав в crontab /bin/sh /etc/scripts/shoutdown.sh, либо первой строчкой скрипта должно быть указание на программу, обрабатывающую скрипт #!/bin/sh
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
Что-то и где-то вы напутали со скриптами.
Скрипт вам для этого не нужен, просто в кронтаб напишите:

0 7 * * * /sbin/shutdown -r now
Ответ написан
Комментировать
@gridmit
sudo crontab -e

0 7 * * * /etc/scripts/shoutdown.sh 2>>/tmp/error.log

когда отработает, посмотреть в фале что за ошибка
Ответ написан
@OLQLOSH
Системный администратор
а не проще ли:
# vi /etc/crontab

0 7 * * * root shutdown -r now

# /etc/init.d/crond restart

и не нужно создавать никаких файлов со скриптами для простой перезагрузки по крону)
Ответ написан
Frankenstine
@Frankenstine
Сисадмин
Как правильно сказал Saboteur - скрипт вам не нужен; но вообще, ошибка в том, что вы вызываете shoutdown без указания полного пути к нему, а в кроне не делается поиск исполняемых файлов ради ускорения обработки (и наверное ещё в целях безопасности).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы