Ho scritto uno script bash per eliminare tutti i backup ma l'ultimo poiché quelli pubblicati altrove non hanno funzionato per me. So che non volevi farlo in modo specifico, ma può essere modificato per mantenere più backup (vedi sotto). Si prega di notare che questo non si applica all'eliminazione di cartelle o file specifici dai backup. Questo script presuppone di averlo su un disco rigido locale (un disco esterno, molto probabilmente). Ho dovuto scrivere da solo perché i backup non sono associati a questo computer, quindi tmutil listbackups
non funziona, e questo è il modo in cui altri script sono stati utilizzati.
Negli script di seguito, sostituisci DISKNAME
con il nome del disco rigido con i backup di Time Machine e COMPUTERNAME
con il nome del computer a cui appartengono i backup.
Per prima cosa, esegui questo script per vedere un elenco dei backup che lo script eliminerà:
while read line; do
echo "/Volumes/DISKNAME/Backups.backupdb/COMPUTERNAME/${line}"
done < <(ls /Volumes/DISKNAME/Backups.backupdb/COMPUTERNAME | tail -r | tail -n +3)
Il +3
farà uscire l'ultimo backup. Se vuoi conservare gli ultimi due backup, rendilo +4
. Per mantenere gli ultimi tre backup, +5
e così via.
Per eliminare tutti i backup tranne l'ultimo, esegui questo script:
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)
So che potrebbe essere reso più elaborato definendo variabili e cose, ma per essere onesti, non sono così esperto in script di shell. So solo che gli altri super-complicati non hanno funzionato, ma questo ha fatto per me, quindi eccolo per i posteri.