Это непростой вопрос:
У меня есть задание cron, которое запускает скрипт с большим количеством команд rsync. По какой-то причине после того, как я добавил параметр --max-size = 2G в каждую команду rsync, задание выдает следующие ошибки:
++++START+++++++++++++++++++++++++++++++
Tue Mar 9 16:53:00 EST 2010
rsync: --max-size=2G: unknown option
rsync error: syntax or usage error (code 1) at main.c(1023)
real 0m0.018s
user 0m0.011s
sys 0m0.006s
----END FONTS-------------------------------
Tue Mar 9 16:53:00 EST 2010
--------------------------------------
Вот моя cron:
SHELL=/bin/sh
PATH=/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin
#min hour mday month wday command
#testing
53 16 * * 2 /Users/admin/Documents/scripts/test_rsync_script > /Users/admin/Documents/logs/$(date +\%y_\%m_\%d__\%H_\%M).log 2>&1
Вот содержание test_rsync_script (я запутал IP-адрес для этого сообщения:
echo "++++START+++++++++++++++++++++++++++++++"
date
time rsync --max-size=2G --archive --verbose --update -e ssh /Volumes/RAID/FONTS/ root@xxx.xxx.xxx.xxx:/Volumes/OFFSITE/FONTS --delete
echo "----END FONTS-------------------------------"
date
echo "--------------------------------------"
Я протестировал команду cron как root в командной строке, и все в порядке! Что-то не так с моей cron? Он отлично работает, если отсутствует параметр --max-size = 2G.
У вас могут быть две разные версии rsync
. В $PATH
отличается в cron
чем в командной строке.
Пытаться type -a rsync
чтобы показать расположение исполняемых файлов. Затем используйте полный путь к правильной версии в своем скрипте.
/path/to/rsync rsync_options ...