Резервное копирование Crontab, не работающее (не генерирующий журнал)

Я хочу запустить скрипт каждый день в определенный час, таким образом, я видел, что мог использовать cron для этого.

После учебного руководства я отредактировал crontab файл как это: crontab -e и добавил:

26 13 * * * ./home/user/backup.sh && echo "Backup done: $(date +"%Y%m%d%H%M%S")" >> /home/user/log.txt

13:26 было 2 минуты назад, однако в/home/user нет никакого log.txt

Что не так?

0
задан 6 April 2014 в 15:28

1 ответ

Если Вы работаете в терминале:

./home/user/backup.sh

Вы получите, вероятно, ошибку как:

bash: ./home/user/backup.sh: No such file or directory

Это, потому что в этом случае не корректно для использования этого . (точка) перед путем к scipt (/home/user/backup.sh). Также убедитесь это backup.sh исполняемый файл путем выполнения:

chmod +x /home/user/backup.sh

И также, быть уверенным, что Вы chage user с Вашим именем пользователя везде.

И наконец, быть уверенным, что статус выхода /home/user/backup.sh сценарий 0. Если статус выхода отличается 0, вторая команда (echo "Backup done: $(date +"\%Y\%m\%d\%H\%M\%S")" - где необходимо выйти из всех % символы), никогда не будет выполняться из-за && оператор.

Как я сказал, необходимо выйти из всех % (процент) в crontab записи, потому что это имеет особое значение в этом случае:

Знаки процента (%) в команде, если не оставлено с обратной косой чертой (\), изменяются в символы новой строки и все данные после того, как первый % будет отправлен в команду как стандартный вход.

Источник: крон

1
ответ дан 8 October 2019 в 02:08

Другие вопросы по тегам:

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