我希望在迁移时保留文件中的创建时间,并且遇到了能够发挥作用的补丁文件。我在 Ubuntu 机器上配置了路径。但是,当我尝试时它无法识别 -N rsync -aN <file> <output path>
。如果有人指出这里缺少什么,那就太好了。
我在 中执行了这些步骤/usr/share/
。安装补丁。我之前已经在我的 ubuntu 机器上安装了 rsync。
sudo curl -O https://download.samba.org/pub/rsync/src/rsync-3.1.3.tar.gz
sudo curl -O https://download.samba.org/pub/rsync/src/rsync-patches-3.1.3.tar.gz
sudo tar -xvf rsync-3.1.3.tar.gz
sudo tar -xvf rsync-patches-3.1.3.tar.gz
cd rsync-3.1.3
patch -p1 < patches/fileflags.diff
patch -p1 < patches/crtimes.diff
patch -p1 < patches/hfs-compression.diff
./configure
make
尽管看到了消息,但看起来配置还是成功了rm: conftest.c: resource busy
。
checking whether -c -o works... rm: conftest.c: Resource busy
rm: conftest.c: Resource busy
yes
checking for stunnel... stunnel
checking for stunnel4... stunnel
checking for _acl... rm: conftest.c: Resource busy
no
checking for __acl... rm: conftest.c: Resource busy
no
checking for _facl... rm: conftest.c: Resource busy
no
checking for __facl... rm: conftest.c: Resource busy
no
checking whether to support ACLs... Using OS X ACLs
checking whether to support extended attributes... Using OS X xattrs
configure.sh: creating ./config.status
config.status: creating Makefile
config.status: creating lib/dummy
config.status: creating zlib/dummy
config.status: creating popt/dummy
config.status: creating shconfig
config.status: creating config.h
rsync 3.1.3 configuration successful
Note that yodl2man was not found, so pre-existing manpage files will be
used w/o change (if available) -- no .yo file changes will be used.
rm: conftest.c: Resource busy
我还尝试了以下方法,但未能成功应用补丁设置。
sudo systemctl start rsync
sudo systemctl enable rsync
答案1
需要注意的一件事是您的文件系统是否存储在邮票上创建的内容。
运行此命令以查看您的文件是否有出生日期戳。我的 Ubuntu 18.04 未设置出生日期文件戳。 (错误的文件系统格式支持出生日期)
如果你得到一个可行的日期,就运行这个。如果你得到一个 - 则没有出生日期,rsync 不会传输它,因为它不存在。
stat -c '%w' fileName.
例子
正如最后一行 - 所指出的,我在这台机器上没有得到任何印记。
$ stat -c '%w' foo/foo1.txt
-