Время от времени я получаю это сообщение в моем журнале rsnapshot и идентичное сообщение в /var/log/messages
. К сожалению, других отклонений от нормального выхода нет, несмотря на loglevel 5
в /etc/rsnapshot.conf
, помимо сводного предупреждения в конце:
[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
Что бы это могло быть? Почему он не сообщает, какие файлы исчезли, хотя у меня он находится на самом высоком уровне журнала? (Или у меня даже нет правильной настройки уровня логирования? Потому что это не кажется очень подробным.)
Последний исходный дистрибутив rsync содержит этот сценарий-оболочку под названием 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
Некоторые файлы и / или каталоги в / исчезли во время работы rsync
Это означает именно это. RSync создает список всех файлов, которые изменились с момента последнего запуска, используя алгоритм «быстрой проверки» (по умолчанию), который ищет файлы, которые изменились по размеру или в последний раз измененный (rsync (1)). Это предупреждение сообщает, что файлы или каталоги в списке файлов больше не существуют в то время, когда rsync пытался скопировать их в место назначения.
Измененные файлы, скорее всего, являются временными файлами, но если вы хотите проверить это, вы можете настроить rsnapshot для передачи rysnc --list-only
возможность создать список файлов, подождать соответствующее время, запустить его снова и сравнить два, чтобы увидеть, какие файлы «исчезли».