`tmutil restore` 可以递归覆盖文件吗?

`tmutil restore` 可以递归覆盖文件吗?

我运行了以下命令:

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

相关内容