具有多个源的反向 rysnc

具有多个源的反向 rysnc

我现在正在编写一些备份脚本。为了加快这个过程,我使用了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

相关内容