한 줄에 여러 디렉터리 재동기화

한 줄에 여러 디렉터리 재동기화

여러 줄로 수행할 수 있는 간단한 작업이 있지만 12개의 별도 줄이 아닌 1개의 크론 작업을 1줄로 실행하고 싶었습니다. 설정은 다음과 같습니다.

이미지를 가져오고 위치 및 기타 사항에 따라 12개의 다른 폴더로 이동하는 이미지 처리 공유에 하나의 폴더가 있습니다. 폴더 이름은 1a, 2a, 3a, 4a, 5a, 6a 등 ~ 12a입니다. 폴더 1a-6a는 dr01에 마운트된 드라이브로 이동해야 하고 폴더 7a-12a는 dr02라는 마운트된 폴더로 이동해야 합니다. 각 #a 폴더에는 내부에 많은 하위 폴더와 파일이 있습니다.

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

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/

관련 정보