Reverse rysnc com múltiplas fontes

1

Estou trabalhando em algum script de backup agora. Para acelerar o processo, usei rsync com todas as pastas para backup. (algo como isto: rysnc -a --delete --progress $folder1 $folder2 $folder3 backupfolder/ )

Se eu agora quiser reverter isso (significando distribuir o conteúdo de backupfolder para suas respectivas pastas.) como eu faria isso?

EDITAR:

Eu fiz algumas pesquisas e descobri que:

for folder in $folder1 $folder2 $folder3
do
    rsync -a --delete --progress backupfolder/$(basename $folder)/ $folder/
done

Enquanto o contrário é:

rysnc -a --delete --progress $folder1 $folder2 $folder3 backupfolder/

Existe uma maneira de fazer isso sem um loop? Seria melhor se fosse apenas um comando!

    
por BrainStone 30.08.2013 / 00:30

2 respostas

1

Se backupfolder contiver apenas os diretórios que você deseja restaurar, restaure o backupfolder em si.

rsync -a /path/to/backupfolder/ .

Observe o / no final do primeiro argumento, caso contrário, os diretórios serão restaurados como subdiretórios.

Para incluir apenas determinados subdiretórios, use um filtro.

rsync -a --include='/folder1' --include='/folder2' --exclude='/*' /path/to/backupfolder/ .
    
por 30.08.2013 / 00:34
0

talvez você possa usar um loop ...

for folder in folder1 folder2 folder3
do
   rsync -a --delete --progress backupfolder $folder
done
    
por 30.08.2013 / 00:35

Tags