모든 백업 을 삭제하지만 최신 파일 을 삭제 하는 bash 스크립트를 작성했습니다. 다른 곳에 게시 된 이 나에게 적합하지 않은 입니다. 나는 당신이 특별히 그렇게하고 싶지 않다는 것을 알고 있지만 더 많은 백업을 유지하기 위해 수정할 수 있습니다 (아래 참조). 백업에서 특정 폴더 나 파일을 삭제하는 경우에는 적용되지 않습니다. 이 스크립트는 로컬 하드 디스크 (외부 디스크)에있는 것으로 가정합니다. 백업이이 컴퓨터와 연결되어 있지 않기 때문에 직접 작성해야하므로 tmutil listbackups
작동하지 않으므로 다른 스크립트에 의존합니다.
아래 스크립트 DISKNAME
에서 Time Machine 백업으로 하드 디스크 이름을 바꾸고COMPUTERNAME
백업이 속한 컴퓨터 이름으로 바꾸십시오.
먼저이 스크립트를 실행하여 스크립트가 삭제할 백업 목록을 확인하십시오.
while read line; do
echo "/Volumes/DISKNAME/Backups.backupdb/COMPUTERNAME/${line}"
done < <(ls /Volumes/DISKNAME/Backups.backupdb/COMPUTERNAME | tail -r | tail -n +3)
은 +3
마지막 백업을 떠나야 할 것입니다. 마지막 두 개의 백업을 유지하려면 백업하십시오 +4
. 마지막 세 개의 백업 등을 유지합니다 +5
.
최신을 제외한 모든 백업을 삭제하려면 다음 스크립트를 실행하십시오.
while read line; do
sudo tmutil delete "/Volumes/DISKNAME/Backups.backupdb/COMPUTERNAME/${line}"
done < <(ls /Volumes/DISKNAME/Backups.backupdb/COMPUTERNAME | tail -r | tail -n +3)
변수와 내용을 정의하여 더 멋지게 만들 수 있다는 것을 알고 있지만 솔직히 말하면 나는 쉘 스크립트에 정통하지 않습니다. 나는 단지 다른 매우 복잡한 것들이 효과가 없다는 것을 알고 있지만 이것은 나를 위해했다. 그래서 그것은 후손을위한 것이다.