3

I once in a while get this message in my rsnapshot log, and an identical message in /var/log/messages. Unfortunately, there is no other deviation from normal output, despite loglevel 5 in /etc/rsnapshot.conf, besides a summary warning at the end:

[24/Feb/2014:11:00:02] /usr/bin/rsnapshot daily: started
[24/Feb/2014:11:00:02] Setting locale to POSIX "C"
[24/Feb/2014:11:00:02] echo 9045 > /.../temp/rsnapshot.pid
[24/Feb/2014:11:00:02] /bin/rm -rf /mnt/backup/.snapshots/daily.5/
[24/Feb/2014:11:00:48] mv /mnt/backup/.snapshots/daily.4/ /mnt/backup/.snapshots/daily.5/
[24/Feb/2014:11:00:48] mv /mnt/backup/.snapshots/daily.3/ /mnt/backup/.snapshots/daily.4/
[24/Feb/2014:11:00:48] mv /mnt/backup/.snapshots/daily.2/ /mnt/backup/.snapshots/daily.3/
[24/Feb/2014:11:00:48] mv /mnt/backup/.snapshots/daily.1/ /mnt/backup/.snapshots/daily.2/
[24/Feb/2014:11:00:48] mv /mnt/backup/.snapshots/daily.0/ /mnt/backup/.snapshots/daily.1/
[24/Feb/2014:11:00:48] mkdir -m 0755 -p /mnt/backup/.snapshots/daily.0/
[24/Feb/2014:11:00:48] /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/home/srv/recycle/*} --exclude=mnt/backup/.snapshots --link-dest=/mnt/backup/.snapshots/daily.1/.../ /. /mnt/backup/.snapshots/daily.0/.../
[24/Feb/2014:11:02:13] Some files and/or directories in / vanished during rsync operation
[24/Feb/2014:11:02:13] touch /mnt/backup/.snapshots/daily.0/
[24/Feb/2014:11:02:13] No directory to delete: /mnt/backup/.snapshots/_delete.9045
[24/Feb/2014:11:02:13] rm -f /home/kev/scheduled/temp/rsnapshot.pid
[24/Feb/2014:11:02:13] WARNING: /usr/bin/rsnapshot daily: completed, but with some warnings

What could it be? Why doesn't it report which files vanished even though I have it on the highest loglevel? (Or do I not even have the loglevel setting right? Because this doesn't seem very verbose.)

2 Answers 2

4

The lastest source distribution of rsync contains this wrapperscript called rsync-no-vanished:

#!/bin/bash

IGNOREEXIT=24
IGNOREOUT='^(file has vanished: |rsync warning: some files vanished before they could be transferred)'

set -o pipefail

rsync "${@}" 2>&1 | (egrep -v "$IGNOREOUT" || true)
ret=$?

if [[ $ret == $IGNOREEXIT ]]
then
        ret=0
fi

exit $ret
2

Some files and/or directories in / vanished during rsync operation

It means exactly that. RSync creates a list of all the files that have changed since the last time it was run using a "quick check" algorithm (by default) that looks for files that have changed in size or in last-modified time (rsync(1)). This warning is reporting that files or directories in the file list no longer exist at the time rsync tried to copy them to your destination.

The files that have changed are most likely temporary files but if you wanted to verify this you can configure rsnapshot to pass rysnc the --list-only option to build the file list, wait an appropriate amount of time, run it again and compare the two to see what files have "disappeared".

4
  • If that's all it is, why is this even a warning? Are you not allowed to delete files or have temporary files? How can I shut this off so my fancy job-output-comparer isn't claiming that my backup 'failed' randomly?
    – Kev
    Feb 24, 2014 at 17:15
  • @Kev - You'll have to take that up with the author of rsync. You could try changing the verbosity to hide the message, however I think your best course of action would be to modify your job-output-comparer.
    – user62491
    Feb 25, 2014 at 0:37
  • That's really unfortunate, but OK.
    – Kev
    Feb 27, 2014 at 18:14
  • Also, how come the 'file has vanished' output that I read about other people getting from their cronjobs from rsync does not appear in the log despite loglevel 5? That's more what my question was getting at.
    – Kev
    Feb 27, 2014 at 18:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .