从 cron 运行 rsync 脚本...无法识别 --max-size 参数

从 cron 运行 rsync 脚本...无法识别 --max-size 参数

这是一个棘手的问题:

我有一个 cron 作业,它运行一个包含大量 rsync 命令的脚本。出于某种原因,在我向每个 rsync 命令添加 --max-size=2G 参数后,作业出现以下错误:

++++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
--------------------------------------

这是我的计划:

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/ [email protected]:/Volumes/OFFSITE/FONTS --delete 
echo "----END FONTS-------------------------------"
date
echo "--------------------------------------"

我在命令行上以 root 身份测试了 cron 命令,一切正常!我的 cron 有问题吗?如果没有 --max-size=2G 参数,它就可以正常工作。

答案1

您可能有两个不同版本的rsync。中的与 命令行中的$PATH不同。cron

尝试type -a rsync显示可执行文件的位置。然后在脚本中使用正确版本的完整路径指定。

/path/to/rsync rsync_options ...

相关内容