Хорошо Вы могли записать решение (или лучшая ссылка на решение, которое Вы записали на своей Wiki) в почте, отправленной Осьминожкой или Splunk.
Когда вы запускаете свои задания cron как пользовательские задания (редактируя задания с помощью crontab -e
), вы не указываете пользователя. Если вы запускаете системные задания cron, вы можете указать user.
Либо поместите эту строку в / etc / crontab
, либо /etc/cron.d/yourfile
, используя какой-нибудь редактор, например vi
или nano
Или удалите 'root' перед /home/backup.sh
. Дополнительное примечание - убедитесь, что у вас есть все ваши программы, такие как mysqldump
, в вашем скрипте либо с полными путями, либо убедитесь, что они находятся в вашем среды выполнения сценариев PATH (которые отличаются от PATH ваших оболочек).
См .:
man 5 crontab
ПРИМЕР CRON-ФАЙЛА
ПРИМЕР СИСТЕМНОГО CRON-ФАЙЛА
Перенаправьте сообщения об ошибках в файл журнала и проверьте его.
/home/backup.sh 2>1 /home/backup.output
Скорее всего, это проблема правого или пути.
Следует обсудить два момента:
Вот что мне приходит в голову:
Вы уверены, что демон cron запущен? Проверьте это.
Если это так, он должен регистрировать все выполняемые задания, обычно вы можете найти его в / var / log / messages. Проверьте, действительно ли он пытается выполнить эту команду в это время.
Проверьте разрешения скрипта cron.
Если да, проблема, вероятно, в другой среде - задания, выполняемые под cron, могут иметь разные $ PATH (поэтому вам нужно указать полный путь к командам в вашем скрипте). Cron должен отправлять сообщения об ошибках (и вообще любых) о выполняемых им заданиях. Проверьте файл / var / mail / root или настройте почтовый псевдоним root ->yout @ email в /etc/aliases.[12127pting
Попробуйте отредактировать crontab следующим образом:
0 2 * * * root /home/backup.sh
и убедитесь, что у сценария есть разрешение на выполнение.
И убедитесь, что ваш crontab имеет возврат каретки в конце строки, которая должна выполняться. Это известная ошибка во многих реализациях Cron, которая препятствует выполнению последней строки файла.
Еще лучше, просто поместите комментарий внизу вашего файла crontab с символом '#'.
Вам не нужна «корневая» часть. Это только для /etc/crontab.
Попробуйте вместо этого:
00 02 * * * /home/backup.sh.[1237 provided