Почему удар является rsync сценарием, ничего не пишущий в файл?

Ubuntu 9.10

crontab-l

0 1 * * */root/cron/rsync-93.193.99.111 и> /root/cron/rsync-93.193.99.111.log
0 3 * * * хвост-100 /root/cron/rsync-93.193.99.111.log | msmtp me@myemail.com

ls-l /root/cron/rsync-93.193.99.111.log

- rw-r - r - базируются корневой /root/cron/rsync-93.193.99.111.log

Файл rsync-93.193.99.111.log отображает нулевой размер в Наутилусе.
Я получаю электронное письмо, но это пусто.
Рабочий хвост-100, также выставочный вывод emtpty, таким образом, электронная почта корректна.

Почему удар является rsync сценарием, ничего не пишущий в файл?

1
задан 28.09.2010, 23:47

2 ответа

Я полагаю, что это потому что &> не поддерживается в sh который является оболочкой это cron использование. Используйте явную форму:

0 1 * * * /root/cron/rsync-93.193.99.111 > /root/cron/rsync-93.193.99.111.log 2>&1

Кроме того, можно сделать sudo crontab -e вместо выполнения sudo su затем crontab -e.

2
ответ дан 12.12.2019, 10:39

Я соглашаюсь с оценкой Dennis Вашей проблемы. Но у меня есть несколько других точек для упоминания.

Самое главное не делайте этого:

0 1 * * * some command
0 3 * * * some other command that should run after the first one

Что, если первая команда берет более или менее, чем два часа? Чтобы удостовериться, что вторая команда выполнения, когда законченное первое, помещает их на одну строку:

0 1 * * * /root/cron/rsync-93.193.99.111 >/root/cron/rsync-93.193.99.111.log 2>&1; tail -100 /root/cron/rsync-93.193.99.111.log | msmtp me@myemail.com

Кроме того, Вы могли бы хотеть использовать в своих интересах автоматическую отправку по почте крона ошибок. (Это предполагает, что Ваша система настраивается правильно для почты, которая не может иметь место, если необходимо работать msmtp вместо mail.)

MAIL=me@myemail.com
0 1 * * * /root/cron/rsync-93.193.99.111 2>&1 | tee /root/cron/rsync-93.193.99.111.log | tail -n 100
1
ответ дан 12.12.2019, 10:39

Теги

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