我有一份rsync
工作几年来一直在使用。我是 Windows 用户并使用 Delta Copy Client。
这项工作变得如此混乱,以至于它一直出错,我最近发现它甚至没有复制某些新文件(它可能在错误和重试后被炸毁)。
简而言之,我想从一张白纸开始。
是否有可能?:
- 删除我 NAS 上的目标 bak 文件夹
- 重新开始工作
我担心的是,如果源文件进行某种镜像操作,我不想意外删除它。
第二个问题——似乎让我伤心的一件事是回收站($RECYCLE.BIN)。这是我可以排除的东西吗--exclude
?
客户端运行的命令是:
rsync.exe -v -rlt -z --chmod=a=rw,Da+x --delete --exclude="CollegeBAK/" --exclude="Microsoft.Cpp/" --exclude="MSOCache/" --exclude="NaturallySpeaking/" --exclude="Documents/Dave/Onedrive/" --exclude="OneDriveTemp/" --exclude="Profile Files/" --exclude="Program Files/" --exclude="Program Files (x86)/" --exclude="ProgramData/" --exclude="Programmer Books" --exclude="Temp/" --exclude="Users/" --exclude="Windows/" --exclude="zz/Docos/" --exclude="node_modules*" --exclude=".vs/" --exclude="bin/Debug/" --exclude="bin/Release/" --exclude="obj/" --exclude="/Sql Server Logs/MALT_1.ldf" --exclude="**/Microsoft.Data.Services.Client.5.6.0/" --exclude="**/NewRelic.Azure.WebSites.x64.3.10.43.0/" --exclude="**/Microsoft.Diagnostics.Instrumentation.Extensions.Intercept.0.13.0-build22724/" --exclude="**/$RDKCLHB.Docs-master/" --exclude="**/My Music/FromJames/" --exclude="**/aspnetcore/fundamentals/host/" --exclude="**/BankWebinars/packages/" --exclude="**/CUMailer/CUWebinars.Azure.AdhocNotifier/" --exclude="**/TTSWebJobs/CUWebinars.Azure.EmailParser/" --exclude="Documents/Dave/dwhelper/Tax/" "/cygdrive/E//" "[email protected]::EBakII/EDrive//"
谢谢
部分答案(我只在 Linux 下使用 rsync)。
您可以安全地吹走目标,rsync 将重新开始复制。rsync 更像是“智能可恢复副本”——即它不会删除源数据。
我无法明确回答您是否可以排除 $RECYCLE.BIN,但我看不出您不能这样做的原因。
这里也是 linux 人,但您应该能够 a) 将排除文件/目录列表放入一个文件 (exclude.txt) 并将其作为一个参数 (
rsync ... --exclude-from=exclude.txt
) 传递,而不是在 CLI 中将它们全部列出。此外,我通常用于备份的选项是
-av
(并且--delete
也很好),但不确定它们在 Windows 下的行为是否相同。你可以用-n
它来测试它会做什么。另外,这很重要,弄清楚为什么(我要继续责怪Windows)它变得如此混乱,以及什么错误?
另外,因为您似乎只想备份用户数据(我没有阅读您的整个排除列表,但它看起来像操作系统的东西)......为什么不直接备份呢?
另外,为了各种理智,我会考虑从实时 linux 环境中进行操作。
man rsync
或者任何相当于windows的东西,应该回答你的大部分问题,它非常全面。是的,您可以对目标目录进行核对,并且 rsync 将重新复制所有内容,除非被告知,否则它不会反向同步。(因此指定了 SRC 和 DEST)