여러 소스를 사용한 역방향 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

관련 정보