2014-04-26 2 views
-1

웹 사이트의 하위 도메인이 두 개인 경우 두 계정 모두에 하나의 폴더에 여러 하위 폴더가 있습니다. 사진 폴더입니다. dirA.xyz.com에서 사진 폴더는 여러 폴더와 하위 폴더로 구성되며 dirB.xyz.com에서 사진 폴더는 dirA에서 사용할 수없는 새 사진으로 구성됩니다. 그러나 dirA 사진 폴더의 하위 폴더 이름은 dirB 사진 폴더와 같을 수 있지만 이미지의 최종 이름은 다를 수 있습니다. 그래서 dirA 사진 폴더 데이터를 삭제하지 않고 dirB 사진 폴더의 모든 파일을 dirA 사진 폴더로 옮기고 싶습니다.여러 파일을 다른 디렉토리로 이동하는 쉘 스크립트

이름과 폴더 구조가 다양하고 데이터가 수백만 개가되어서 어떻게 이동하고 병합하여 모든 데이터가 유지됩니까?

나는 zip을 사용해 보았습니다. 나는 dirB의 사진 폴더를 압축하여 dirA로 옮기고 압축을 풀려고했지만 dirA 사진 폴더에 들어 가지 않고 dirB 사진 폴더에 있습니다. 나는 dirB 사진 폴더의 소유자를 dirA 소유자로 변경하려고 시도했지만 작동하지 않았습니다. 작동중인 유일한 방법은 이동 명령입니다. 어떻게하면 mv으로이 작업을 수행 할 수 있습니까?

mv /home/xyz/public_html/photo/ABC/Something/something/xyz.jpg /home/ABCDE/public_html/photo/ABC/Something/something/xyz.jpg 

모든 파일은 jpeg 또는 png입니다.

답변

0

rsync 같은 병합 옵션이 필요하며 덮어 쓰지 않아도됩니다. 알맞은 버전의 리눅스를 사용하고 있다면, 기본적으로 rsync가 설치되어 있어야합니다.

소스 : /home/xyz/public_html/photo/ABC/Something/something/xyz.jpg
대상 : /home/ABCDE/public_html/photo/ABC/Something/something/xyz.jpg

rsync -avibu --ignore-existing /home/xyz/public_html/photo/ /home/ABCDE/public_html/photo 

이 명령에서 최상위 디렉토리를 임의로 선택했습니다. 필요에 따라 수정할 수 있습니다. 또한 원본과 대상 모두에서 후행 "/"에주의하십시오. 그렇지 않으면 파일 배치가 디렉토리 수준이 될 수 있습니다.

-b 두 폴더에 존재하는 rsync 백업 파일을 ~을 이전 파일에 추가합니다. - suffix를 사용하여 ~ 접미사를 바꿀 수 있습니다. string_of_your_choice -u rsync 전송은 소스에있는 것보다 목적지가 더 최신 인 파일을 건너 뜁니다.

+0

thx 내가 조언 할 수는 있지만 어떻게 할 수 있습니까? – sachin

+0

그냥 명령을 이동하십시오. work ???/ – sachin

+0

업데이트 내용을 확인하십시오. 이동 명령의 경우 대상 대상의 파일을 덮어 쓰려면 작업 할 수 있습니다. – MelBurslan

관련 문제