나는 그것을 rsync
파일 세트를 백업하는 데 사용합니다 /etc
. "소스" 파일은 ext4
파일 시스템에 있고 "대상"은 ext4
USB 썸 드라이브의 파티션입니다. 내 만트라는 다음과 유사합니다.
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
으로 설정해야 하며 이를 사용하면 피하고 싶은 문제(비밀번호 저장)가 생성됩니다.cron
sudo
crontab
또 다른 가능성은 백업 중에 루트가 소유한 파일의 소유권을 변경하는 것입니다(이 chown=USER:GROUP
옵션 사용) rsync
. 그것 없이 작동하더라도 sudo
백업이 필요하면 소유권을 복원해야 한다는 생각이 들었기 때문에 시도하지 않았습니다.
나는 하루 종일 이 문제로 씨름해 왔고 셀 rsync
수 없이 많은 선택 사항에 대해 논쟁하는 데 지쳤습니다. 그래서 - 제 질문은 이렇습니다.
더 나쁜 상황을 만들지 않고 sudo
파일 백업에 사용을 피하려면 어떻게 해야 합니까?/etc
보르기?
답변1
설정하다루트 크론 작업그러면 스크립트는 어쨌든 루트로 실행됩니다. 루트 crontab에 액세스하려면 를 실행하십시오 sudo crontab -e
.