rsync 명령을 사용하여 파일을 내 우분투 서버 중 하나에서 다른 우분투 컴퓨터로 백업합니다. 백업 서버는 rysnc 명령을 사용하는 스크립트를 트리거합니다. 여기 내가 사용하는 명령이 있습니다
rsync -rltvh –partial –stats –exclude = .beagle / –exclude =. * –delete-after root @ live_server : / home / / home / live_server_backup / home >> /tmp/logfile.log 2> &1
live_server는 비밀번호없이 ssh 가능합니다. 그래서 작동합니다. 이제 문제는
-삭제 후 옵션
모든 파일이 동기화 된 후. 결국 삭제 절차를 건너 뛸 수 있습니다 .logfile 오류는
IO 오류 발생-파일 삭제 건너 뛰기
로그를 찾으려고 할 때 파일 동기화 중에 오류가 발생했습니다
rsync : send_files가 “/home/xyz/Desktop/PPT_session_1_context.pdf”를 열지 못했습니다 : 권한이 거부되었습니다 (13)
그래서 내 이해는 rsync가 파일 삭제를 건너 뛰는 안전상의 이유로 대상에서 모든 파일을 읽을 수 없다는 것입니다.
권한 오류가 있어도 –delete-after work하는 방법이 있습니까? 일부 상황에서는 위험하므로 강제 삭제를 사용하고 싶지 않습니다.
답변
이 문제에 대한 추가 참고 사항 :
vanished file
조건을 트리거해서는 안되지만 IO error encountered -- skipping file deletion
라이브 시스템의 백업을 생성 할 때 종종 발생합니다.
이것은 rsync 버그 # 7809 ( https://bugzilla.samba.org/show_bug.cgi?id=7809 )에 의해 다루어지며 다음 릴리스 3.1.0에서 해결 될 것입니다.
그 동안 사용 :
--ignore-errors delete even if there are I/O errors
답변
rsync 매뉴얼 페이지에서 :
--ignore-errors delete even if there are I/O errors
그것은 당신의 문제를 다룰 것입니다.
답변
rsync
읽을 수없는 파일을 무시하려면 제외 파일을 사용해야합니다 . find . -exec test -r '{}'
소스 디렉토리에서 목록을 생성 한 다음 rsync
원하는 제외 파일 형식으로 정리할 수 있습니다.