rsync 不附加到其日志文件

rsync 不附加到其日志文件

我在 QNAP NAS 上使用rsync --log-file=...,通过 cron 运行时它不会附加到日志文件中。从命令行运行相同的命令确实会附加。

此命令从命令行附加:

rsync -rvs -e ssh --log-file=/share/homes/admin/rsync.log --ignore-existing "/source/" "/destination/"

计划任务条目:

30 * * * * /share/homes/admin/bin/myscript.sh

剧本myscript.sh

#!/bin/sh

LOCKFILE=/var/log/$(basename "$0").lock
LOGFILE=/share/homes/admin/rsync.log
if [ -e /var/log/$LOCKFILE ]
then
        echo "Rsync job already running...exiting" >> "$LOGFILE"
        exit
else
        touch "$LOCKFILE"
fi

trap 'rm "$LOCKFILE"' EXIT

rsync -rvs -e ssh --log-file="$LOGFILE" --ignore-existing "/source/" "/destination/"
if [ "$?" -gt "0" ]
then
  /share/homes/admin/bin/email.sh
fi

仅运行rsync脚本中的命令仍然不会附加到rsync日志文件。

有时,很少追加一段时间然后停止并覆盖。这也很奇怪。

我可以重定向命令的输出rsync,但随后我将丢失所有添加的时间戳rsync,因此如果可以的话,我宁愿找到原因。

相关内容