今はバックアップスクリプトを書いています。プロセスを高速化するために、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つだけあれば最高です!
答え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