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可能であれば原因を調べることをお勧めします。

ベストアンサー1

おすすめ記事