我现在正在编写一些备份脚本。为了加快这个过程,我使用了rsync
所有要备份的文件夹。(类似这样的rysnc -a --delete --progress $folder1 $folder2 $folder3 backupfolder/
:)
如果我现在想扭转这个局面(意味着将 的内容分发backupfolder
到各自的文件夹。)我该怎么做?
编辑:
我做了一些研究,发现:
for folder in $folder1 $folder2 $folder3
do
rsync -a --delete --progress backupfolder/$(basename $folder)/ $folder/
done
而相反的是:
rysnc -a --delete --progress $folder1 $folder2 $folder3 backupfolder/
有没有办法在没有循环的情况下做到这一点?如果只有一条命令那就最好了!
答案1
如果backupfolder
仅包含要恢复的目录,则恢复backupfolder
自身。
rsync -a /path/to/backupfolder/ .
请注意/
第一个参数末尾的 ,否则目录将恢复为子目录。
要仅包含某些子目录,请使用过滤器。
rsync -a --include='/folder1' --include='/folder2' --exclude='/*' /path/to/backupfolder/ .
答案2
也许你可以使用循环...
for folder in folder1 folder2 folder3
do
rsync -a --delete --progress backupfolder $folder
done