내 웹사이트의 백업을 생성하기 위해 rsync를 사용하고 있습니다. --link-dest
이전 백업에 대한 연결을 사용하고 필요한 저장 공간을 줄여 변경되지 않은 중복 파일이 여러 번 저장되지 않도록 하고 싶습니다 .
나는 문서를 이해하기 위해 몇 가지 다른 경로 조합을 시도했습니다. 내가 아는 한, 첫 번째 경로는 스크립트 파일이 실행되는 위치에 대한 전체 상대 경로여야 합니다. 마지막 경로는 경로가 없는 대상 폴더 이름인가요?
--link-dest=DIR 이 옵션은 --copy-dest와 유사하게 작동하지만 변경되지 않은 파일은 DIR에서 대상 디렉터리로 하드 링크됩니다. 파일을 서로 연결하려면 이러한 파일의 모든 예약된 속성(예: 사용 권한, 가능한 소유권)이 동일해야 합니다. 예: CW rsync -av --link-dest=$PWD/prior_dir 호스트:src_dir/ new_dir/
분명히 내가 시도한 모든 것이 실패하고 파일의 전체 복사본을 생성했기 때문에 이것을 올바르게 이해하지 못했습니다.
내가 현재 가지고 있는 것의 예는 다음과 같습니다.
rsync -zavx -e 'ssh -p22' \
--numeric-ids \
--delete -r \
--link-dest=../backups/websites/testsite.co.uk/17-06-2018/ [email protected]:~/public_html 18-06-2018/;
누구든지 경로가 무엇인지 명확히 할 수 있습니까?
스크립트 .sh 파일은 내 컴퓨터에 있습니다.
/Users/myname/Desktop/
그러면 내 디렉토리의 전체 경로는 다음과 같습니다.
/Users/myname/Desktop/backups/websites/testsite.co.uk/17-06-2018/
/Users/myname/Desktop/backups/websites/testsite.co.uk/18-06-2018/
안내에 대한 도움을 주시면 대단히 감사하겠습니다.
답변1
rsync -av --link-dest=/path/to/previous/backup/ source/ /path/to/this/backup/
귀하의 경우에는 ( 필요하지 않을 수 있으며 끝에 a가 있어야 함) source/
로 변경한 다음 (가능한 경우) 로컬 컴퓨터에서 절대 경로를 사용하십시오. 절대 경로를 사용하면 어떤 디렉터리에서 명령을 실행하는지 크게 신경 쓰지 않고도 명령을 실행할 수 있습니다.[email protected]:public_html/
~
/
-e 'ssh -p22'
기본적으로 사용되므로 필요하지 않으며 옵션 -r
에 포함되어 있습니다 .-a