关于这个问题
问题的简短描述:
当源树内部有一个挂载点时,即使使用-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
已经包括在内。