저는 Raspbian jessie(우분투)를 사용하고 있습니다. 모든 것(mnt, tmp, run, dev, boot 등 제외)의 .img를 백업하고 crontab을 사용하여 일주일에 한 번 실행되도록 하는 .sh를 만들었습니다. 수정된 파일을 확인하고 해당 파일만 복사합니다. 매번 모든 것을 대규모로 전체 백업할 필요가 없기 때문에 이 기능이 매우 유용하다고 생각합니다. 이것은 매우 잘 작동합니다. .sh에는 다음 명령이 포함되어 있습니다.
sudo rsync -aAHvpE --delete-during --exclude-from=/etc/rsync-exclude.txt / /mnt/usb0/backup/partition2
그러나 백업을 확인해보니 원래 시스템에서 삭제한 파일이 여전히 포함되어 있는 것을 발견했습니다. 예를 들어 /test.txt 파일을 /mnt/usb0/backup/partition2/test.txt에 백업했는데, 원본 파일을 삭제하고 새로 백업을 했더니 백업에서 사라지지 않더군요.
이제 내 질문은: 원본 폴더에 더 이상 존재하지 않는 파일을 확인한 다음 백업 폴더의 파일도 삭제할 수 있는 방법이 있습니까? (먼저 모든 것을 삭제한 다음 처음부터 전체 백업을 만들 필요가 없습니다.)
답변1
사용한 명령은 --delete-during
수신 측에서 파일을 삭제 하지만 파일에 해당 이름이 포함되어 /mnt/usb0/backup/partition2
있는지 확인하십시오 .--exclude-from
/etc/rsync-exclude.txt
test.txt
다음 옵션을 사용할 수도 있습니다.
--delete-before receiver deletes before xfer, not during
--delete-during receiver deletes during the transfer
--delete-delay find deletions during, delete after
--delete-after receiver deletes after transfer, not during
--delete-excluded also delete excluded files from dest dirs