windows:使用硬链接进行复制以进行备份

时间:2018-03-31 16:33:30

标签: windows powershell backup rsync backup-strategies

如果我不小心修改/删除重要文件,我的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

1 个答案:

答案 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选项在目标中创建/复制符号链接(而是创建内容副本)-尽管它可以检测到(默认情况下)源中的符号链接