루트 소유 파일을 백업하기 위해 `sudo`를 사용하지 않을 수 있나요?

루트 소유 파일을 백업하기 위해 `sudo`를 사용하지 않을 수 있나요?

나는 그것을 rsync파일 세트를 백업하는 데 사용합니다 /etc. "소스" 파일은 ext4파일 시스템에 있고 "대상"은 ext4USB 썸 드라이브의 파티션입니다. 내 만트라는 다음과 유사합니다.

rsync -av --recursive --files-from=my/etcfiles /etc ./my/backup/etc/

예상대로 다음과 같은 오류가 발생했습니다.

rsync: failed to set times on "/my/backup/etc/somefile": Operation not permitted (1)  
rsync: mkstemp "/my/backup/etc/somefile.erGL4a" failed: Permission denied (13)  
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1196) [sender=3.1.2]  

a이는 옵션이 rsync내가 백업하는 파일의 소유권(루트)을 유지하기 때문에 rsync작업을 완료하려면 루트 권한이 필요하기 때문인 것 같습니다 .

에서 실행하면 rsync성공적으로 완료되지만 작업 sudo으로 설정해야 하며 이를 사용하면 피하고 싶은 문제(비밀번호 저장)가 생성됩니다.cronsudocrontab

또 다른 가능성은 백업 중에 루트가 소유한 파일의 소유권을 변경하는 것입니다(이 chown=USER:GROUP옵션 사용) rsync. 그것 없이 작동하더라도 sudo백업이 필요하면 소유권을 복원해야 한다는 생각이 들었기 때문에 시도하지 않았습니다.

나는 하루 종일 이 문제로 씨름해 왔고 셀 rsync수 없이 많은 선택 사항에 대해 논쟁하는 데 지쳤습니다. 그래서 - 제 질문은 이렇습니다.

더 나쁜 상황을 만들지 않고 sudo파일 백업에 사용을 피하려면 어떻게 해야 합니까?/etc보르기?

답변1

설정하다루트 크론 작업그러면 스크립트는 어쨌든 루트로 실행됩니다. 루트 crontab에 액세스하려면 를 실행하십시오 sudo crontab -e.

관련 정보