Связанный с этим вопросом
Краткое описание проблемы:
Если исходное дерево имеет подключенную точку внутри, тогда метки времени для файлов внутри этой подключенной точки при копировании в целевое дерево не сохраняются даже при использовании -a
параметра
Подробное описание:
Предположим, что это исходное дерево:
/home/ /home/
| |
me/ BACKUP/
| |
+----+----------+ +----+-------+
| | | | | |
data/ foo.txt boo.txt data/ foo.txt boo.txt
| |
a.txt a.txt
где data/
выше смонтирован внешний USB-диск. Все это ext4
файловая система. Все в источнике принадлежит мне me
.
BACKUP
Также оказалась точка монтирования, резервный USB-диск.
После выполнения этой команды rsync -av --delete /home/me/ /home/BACKUP/
я обнаружил, что /home/BACKUP/data/
и все, что находится под ней, имеет текущую метку времени, как будто эти файлы были созданы сейчас, а не метку времени для файлов в /home/me/data/
. Другие файлы и папки снаружи data
сохранили отметку времени в порядке.
Вопрос заключается в следующем: как использовать rsync
вышеуказанные настройки, чтобы указывать сохранение меток времени для всех файлов и папок, даже для файлов и папок в подключенной точке?
Я использую:
>uname -a
Linux 3.5.0-17-generic #28-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux
>rsync -v
rsync version 3.0.9 protocol version 30
-a
который говорит: дляarchive mode; equals -rlptgoD
этого-t
уже включен.ls -l
с файлом. Это работает с файлами, которые не находятся внутри точки монтирования. Но все файлы, которые находятся внутри точки монтирования, имеют отметку времени, указывающую, что они были только что созданы. Как бы вы ни назвали это время. Я просто хотел, чтобы он использовал одинаковую отметку времени для файлов в источнике. Теперь это не так. Я хочу, чтобы все аспекты времени были скопированы. т.е. клон файла будет сделан. время создания, время изменения и т.д ...ls -l
показывает mtime (изменить) не ctimeКак уже сказал hr3miller, -a (или --archive) равен -rlptgoD и уже включает время синхронизации.
Однако, когда rsync копирует данные, например, в. при монтировании NFS / FAT32 / NTFS при сбое сохранения пользователя и владельца rsync не будет пытаться установить время. Rsync будет предупреждать что-то вроде
Поэтому оставьте сохранение пользователя и группы с помощью
вместо того
Используйте это только в том случае, если нет сохранения владельца и группы. Обратите внимание, что сохранение символических ссылок и других функций может также вызвать такое поведение. Вам нужно будет просмотреть справочную страницу для каждой функции rsync (-r -l -p -t -g -o -D), которую вы хотите сделать резервную копию.
источник
Я использую
rsync -az
и уверен, что это сохраняет мне время модификации. Я дважды проверил это прямо сейчас.источник
-a
(--archive
) включает в себя-t
.