Я испытываю некоторые проблемы, пытающиеся назвать сценарий удара как a cronjob
который просто не будет работать.
Вот для устранения некоторых возможных источников отказа:
sudo crontab -e
0 4 * * * bash ~/nightly_backup.sh
/home/myuser/nightly_backup.sh
sudo bash ~/nightly_backup.sh
работает просто великолепноfswebcam -r ...
)Что я делаю неправильно?
Кроме того: поиск сегодня, если сценарий работал, я вижу системный журнал, в котором говорится следующее:
Feb 7 04:00:01 localhost CRON[7767]: (root) CMD (bash ~/nightly_backup.sh)
Feb 7 04:00:01 localhost CRON[7764]: (CRON) info (No MTA installed, discarding output)
Feb 7 04:00:03 localhost CRON[7765]: (CRON) info (No MTA installed, discarding output)
Основная проблема, кажется: использование ~
которые относятся к home
из текущего пользователя.
Больше деталей о проблеме:
~
/home/myuser
(myuser
домой)~
/root
(root
домой)Так как файл не находится в /root/nightly_backup.sh
cron
не может выполнить его.
Решение:
Замена:
0 4 * * * bash ~/nightly_backup.sh
С:
0 4 * * * /home/myuser/nightly_backup.sh
Отметьте, необходимо удостовериться, что сценарий оболочки, выполняются - способный, путем выполнения следующей команды (однажды):
chmod +x /home/myuser/nightly_backup.sh
Примечание: Относительно Вашего другого вопроса
Что не делает "никакого MTA установленный, отбрасывающий вывод", средний?
Этому ответили здесь
Короче говоря: Это происходит, потому что Ваши задания крона производят вывод, и затем демон крона пытается послать тот вывод по электронной почте Вам, в то время как у Вас нет почтового сервиса установленным в Вашей системе.
Можно решить его одним из следующих методов (больше информации в здесь)
logger
и Вы будете видеть его в syslog
журналы