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가능하다면 원인을 찾아보는 것이 좋습니다.

관련 정보