cron
작업을 사용하여 야간에 홈 디렉토리를 외장 드라이브에 백업하고 싶습니다 rsync
. rsync
의 심볼릭 링크 플래그 가 정확한지 확실하지 않습니다 .
rsync
의-a
플래그에는 플래그가 포함됩니다-l
(즉, “symlinks를 symlinks로 복사”). 이것은 링크 를 복사하거나 링크 를 따라 링크 대상 디렉토리의 모든 것을 복사 한다는 의미 입니까? 수백 기가 바이트의 복사가 필요한 미디어 파일로 가득 찬 디렉토리에 대한 링크가 있으므로 백업 할 필요가 없습니다.rsync -a
모든 미디어 파일을 복사 하는 두려움 (그러나 확실하지는 않음) 대신--no-links
플래그 를 추가했습니다 . 이것은 내가 원하는 행동이 아닌 것 같습니다. 복사하려는 링크 (예 : 다른 프로젝트 디렉토리의 공통 헤더 파일에 대한 링크)가 있기 때문에 문제가되는 링크 복사는 무시합니다.- 위의 # 1 (
--no-links
플래그 없이 )이 실제로 원하는 것으로 가정하고 링크 된 파일을 복사하지 않고 링크를 복사하면 백업 할 때 링크가 끊어 집니까? 예를 들어rsync
디렉토리/home/me/projects/misc
를에 소스 할 수 있습니다/media/extdrive/backup/home/me/projects/misc
. 이 경우 나는rsync
똑똑하지 않다고 가정 하고 상대 디렉토리 변경 사항에 대한 심볼릭 링크의 내용을 수정하려고 시도하지 않습니다. 이 올바른지? 백업 디렉토리에서 링크가 끊어 지더라도 복구해야 할 때 수정되고 작동하는 한 문제가되지 않습니다.
답변
-
“심볼릭 링크로 심볼릭 링크 복사”란 정확히 의미합니다. rsync가 소스 디렉토리에서 심볼릭 링크를 볼 경우 대상에서 동일한 심볼릭 링크를 만듭니다. 더 이상 없습니다.
(설명서 페이지의 몇 줄 아래에 다른 옵션
--copy-links
은 원하지 않는 것으로 묘사 된 반대 동작 (항상 데이터 복사)을 설명합니다.)“기호 링크”섹션도 참조하십시오.
--links
지정 하면 대상에서 동일한 대상으로 심볼릭 링크가 다시 작성됩니다. -
무엇을 잘못 해석
--links
하고 잘못된 행동을 요구하기 때문에 원하는 행동이 아닙니다 (답변 # 1 참조). -
기본적으로 대상을 정확하게 복사합니다 .
즉, 링크가 절대 경로를 가리키는 경우 (예
/home/me/projects
🙂 계속 동일한 경로를 가리 킵니다. 그것은 중단 되지 않으며 백업의 파일이 아닌 홈 디렉토리의 파일을 계속 가리 킵니다.링크가 상대 경로 (예를 들어 지적 경우 한편,
../../projects
), 그것은 것 또한 동일한 경로를 가리키는 계속하지만 심볼릭 링크의 위치에 상대적이기 때문에, 백업에서 심볼릭 링크는 백업에서 파일을 가리키는 것입니다.불행히도 새로운 기반에 대한 절대 심볼릭 링크를 변환하는 옵션이없는 것 같습니다 (전체를 깰 수있는 옵션 만). 문제를 피하려면 기존 심볼릭 링크를 상대 심볼릭으로 변경해야합니다 (일반적으로 $ HOME 내부의 링크에 좋습니다).
답변
@grawity는 훌륭한 답변을 제공하지만 다음은 설명서의 관련 정보 스크린 샷입니다. 예를 들어 -l
및 -L
옵션에 대한 정확한 표현은 다음 과 같습니다. 이는 가장 관련성이 높은 것으로 보입니다.
출처 : https://linux.die.net/man/1/rsync 또는 man rsync
Linux의 수동 페이지.
또한 -a
( --archive
) 옵션에는 옵션이 포함되어 있습니다.이 -l
옵션 -l
은 소스의 심볼릭 링크를 대상의 심볼릭 링크로 유지 하는 옵션을 사용하기를 좋아하기 때문에 훌륭 합니다. 매뉴얼 페이지에서 :
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
rsync
복사, 미러링, 전체 진행률 표시 등 내가 가장 좋아하는 명령 및 지침은 다음과 같습니다.
… 건조 실행, stderr 및 stdout을 (별도의) 파일에 로깅, 포함 경로 파일 및 제외 파일 등을 사용하여 통계를 표시하는 방법 은 여기에서 ” 2. 도구 (Linux, Cygwin이 설치된 Windows) “: https://superuser.com/a/1464264/425838