如果我不小心修改/删除重要文件,我的linux PC会使用由cron执行的脚本进行每日备份,并包含以下行。
rsync --checksum --recursive ${source} ${dest}/$i --link-dest=${dest}/$((i-1))
($ {source}是文档文件夹的路径,$ {dest} / n是第n个备份的路径。)
使用--link-dest
选项具有很大的优势,如果您备份3 GB文件夹,更改小文件并再次备份,则两个备份组合需要3 GB磁盘空间,如果我运行则需要6 GB没有--link-dest
选项的rsync。
我正在努力为Windows编写类似的脚本:我可以使用cp -r
powershell命令(或xcopy cmd命令),但是此命令没有类似于rsync的{{1}选项}} 选项。使用linux子系统for windows for rsync命令可以正常工作,但linux子系统中用于windows的cron.daily文件夹中的脚本每天都会执行net。
TLDR:等同于--link-dest
PS:如果有人想要自己的备份的linux版本的脚本,这里是:
rsync -r pathA pathB --link-dest pathC
答案 0 :(得分:0)
用于Windows的MSYS2(https://www.msys2.org/#installation)集合(安装:rsync
)中的当前pacman -S rsync
在NTFS上正确支持--link-dest
硬链接重用选项。现在它还支持NTFS Unicode文件名。
必须在MSYS / Cygwin约定中给出绝对路径-例如/C/path/to/source/
。
注意:到目前为止(2020-09)MSYS2 rsync无法通过symlink选项在目标中创建/复制符号链接(而是创建内容副本)-尽管它可以检测到(默认情况下)源中的符号链接