Похоже, что задача Cron выполняется в системном журнале, но на самом деле не выполняется

Я сделал короткий скрипт на одном сервере, чтобы сделать резервную копию папки и отправить ее по FTP на другой сервер. Я пытаюсь настроить его запуск каждую минуту с помощью crontab. Он прекрасно работает, когда я запускаю его вручную, но когда cron запускает его, кажется, ничего не происходит (то есть файл не получен на другом конце). Как я сказал в заголовке, задача отображается в системном журнале, как будто все в порядке.

Вот сценарий:

#! /bin/sh

cd /root

FILENAME="backup-$(date +%b_%d_%Y_%H:%M).zip"

zip -r $FILENAME folder

ftp -in 74.131.78.127 24721 << EOF > ~/log.txt 2>&1

user myusername 
binary
cd Desktop/backups
mput $FILENAME

EOF

rm $FILENAME

Запись Crontab:

* * * * * /root/backup.sh

Я ввел это, используя crontab -e.

3
задан 23 August 2013 в 18:46

2 ответа

Я понял свою проблему. Фактический root не имел разрешений на мою неумело названную папку /root. Простой chmod -R 707 /root решил это.

0
ответ дан 23 August 2013 в 18:46

Полезно создать отдельный файл cron.log, что более полезно.

В этой Q & A описывается процесс:

16.04: Как заставить cron создать cron.log и отслеживать его в режиме реального времени?

Также в этом ответом является инструкция по созданию команды wcron, которая отображает ее почти в реальном времени.

Кроме того, он ссылается на другой ответ,

Как изменить уровень журнала cron?

, который показывает, как изменить уровень журнала, чтобы включить больше чем только начало рабочих мест - уровень 15 также покажет ошибки и время окончания.

Возможно, ваш ответ в журнале.

0
ответ дан 23 August 2013 в 18:46

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

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