1

У меня есть небольшая проблема с cronjobs для резервных копий.

Я установил следующее в sudo crontab -e (не в личном кабинете):

0 1 * * * /backups/dobackup

/backups/dobackup содержит это:

#!/bin/sh
touch ITRAN
tar -cvpjf /backups/$(date +%d.%m.%Y)_backup.tar.bz2  --exclude=/backups --exclude=/proc --exclude=/lost+found --exclude=/sys --exclude=/mnt --exclude=/media --exclude=/dev /

Файл резервной копии создан, а файл ITRAN - нет. Кроме того, файл резервной копии значительно меньше, чем ожидалось:

-rw-r--r--  1 rjrudman root      371620259 2012-06-21 12:39 21.06.2012_backup.tar.bz2
-rw-r--r--  1 rjrudman root     1023211449 2012-06-22 18:00 22.06.2012_backup.tar.bz2
-rw-r--r--  1 rjrudman root        1512785 2012-06-23 01:00 23.06.2012_backup.tar.bz2
-rw-r--r--  1 rjrudman root     1023272455 2012-06-24 22:41 24.06.2012_backup.tar.bz2
-rw-r--r--  1 rjrudman root        1514027 2012-06-25 01:00 25.06.2012_backup.tar.bz2

Резервные копии с файлами гораздо больших размеров создаются путем ручного запуска sudo /backups/dobackup . Кажется, что cronjob терпит неудачу в какой-то момент ... но я понятия не имею, как отладить эту проблему или с чего начать.

Есть идеи? Запуск Ubuntu 10.04

3 ответа3

4

Если вы хотите выяснить причину сбоя, попробуйте записать в выходной файл сценарий резервного копирования:

0 1 * * * /backups/dobackup >& /root/dobackup.log
2

Среда Crontab - это не то же самое, что среда Bash. Вам необходимо запрограммировать команды для crontab-ов.

1

Одна вещь, которую я узнал, это выяснить, к чему имеет доступ среда cron.

Это может не быть решением, но это может открыть вам глаза на эту проблему в будущем.

Пусть cron выполнит эту команду:

* * * * *  set > /temp/text/file

Взгляните на это и сравните с обычной оболочкой bash.

Значительно отличается, и это вызовет невидимые проблемы

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .