我运行了以下命令:
cd /Users/user/
mkdir back_me_up
touch back_me_up/touched_file
tmutil startbackup --block
rm back_me_up/touched_file
tmutil restore /Volumes/BackupParition/MyMac/Latest/MainPartition/Users/user/* /Users/user/
并得到:
/Users/user/Desktop: File exists (error 17)
/Users/user/Documents: File exists (error 17)
/Users/user/Downloads: File exists (error 17)
/Users/user/Library: File exists (error 17)
/Users/user/Movies: File exists (error 17)
/Users/user/Music: File exists (error 17)
/Users/user/Pictures: File exists (error 17)
/Users/user/Public: File exists (error 17)
/Users/user/back_me_up: File exists (error 17)
所以back_me_up/touched_file
不是恢復。
有没有办法用tmutil restore
命令递归覆盖现有文件?
答案1
就我个人而言,我没有找到任何方法让“tmutil restore”自动覆盖文件和目录。看来答案是否定的。
但是,您可以使用“tmutil compare”轻松编写此行为脚本。它会以格式良好、易于解析的格式输出当前文件与特定备份之间的差异。您可以执行以下操作:
pathList = parseCompareResult('tmutil compare')
for path in pathList:
rm -rf path
tmutil restore path