한 줄에 여러 디렉터리를 rsync

한 줄에 여러 디렉터리를 rsync

여러 줄로 수행할 수 있는 간단한 작업이 있지만 12개의 별도 줄을 사용하는 대신 1개의 cron 작업을 통해 1줄로 실행하고 싶습니다. 설정은 다음과 같습니다.

이미지 처리 공유에는 이미지를 가져와 위치 및 기타 상황에 따라 12개의 다른 폴더로 이동하는 폴더가 있습니다. 폴더 이름은 1a, 2a, 3a, 4a, 5a, 6a 등부터 12a까지입니다. 폴더 1a-6a는 dr01에 설치된 드라이브로 이동해야 하고, 폴더 7a-12a는 dr02라는 설치 폴더로 이동해야 합니다. 각 #a 폴더에는 그 안에 많은 하위 폴더와 파일이 있습니다.

그래서 하루에 두 번씩 ../images/1a를 ..DR01/1a에 동기화하고 싶습니다. 다음을 사용하여 각 폴더에 대해 개별적으로 이 작업을 수행할 수 있습니다.

rsync -avh --remove-source-files /images/1a/ /usr/local/blah/dr02/1a/

디렉토리 전체를 동기화할 수 있으면 좋겠지만 파일의 절반은 공유되고 나머지 절반은 공유되기 때문에 나누어야 합니다.

각 폴더를 동기화하기 위해 12개의 rsync 작업을 만들지 않고도 이 작업을 수행할 수 있는 더 좋은 방법이 있습니까? rsync 라인이나 이와 유사한 것으로 그룹화하는 방법이 있습니까? 나는 DR을 통합하기 위해 Union-fs를 사용했지만 더 이상 실행 가능한 옵션이 아닙니다.

이 문제를 해결하는 데 도움이 될 수 있는 팁을 미리 알려주셔서 감사합니다.

답변1

유형 구성을 확장할 수 있는 쉘이 있다고 가정하면 {x..y}이와 같은 것이 효과가 있을 수 있습니다. (전체 줄에 접두사를 붙여 명령줄에서 이를 테스트합니다 echo.)

rsync -avh --remove-source-files /images/{1..6}a /mnt/dr01/
rsync -avh --remove-source-files /images/{7..12}a /usr/local/blah/dr02/

관련 정보