Escribí un script de bash para eliminar todas las copias de seguridad, pero la última , ya que las que se publicaron en otro lugar no me funcionaron. Sé que no quería hacer eso específicamente, pero se puede modificar para mantener más copias de seguridad (ver más abajo). Tenga en cuenta que esto no se aplica a la eliminación de carpetas o archivos específicos de las copias de seguridad. Este script asume que lo tiene en un disco duro local (un disco externo, lo más probable). Tuve que escribir mi propia cuenta porque las copias de seguridad no están asociadas con esta computadora, por lo que tmutil listbackups
no funciona, y eso es de lo que dependían otros scripts.
En los scripts a continuación, reemplace DISKNAME
con el nombre del disco duro con las copias de seguridad de Time Machine y COMPUTERNAME
con el nombre de la computadora a la que pertenecen las copias de seguridad.
Primero, ejecute este script para ver una lista de las copias de seguridad que el script eliminará:
while read line; do
echo "/Volumes/DISKNAME/Backups.backupdb/COMPUTERNAME/${line}"
done < <(ls /Volumes/DISKNAME/Backups.backupdb/COMPUTERNAME | tail -r | tail -n +3)
El +3
hará que salga la última copia de seguridad. Si quieres mantener las dos últimas copias de seguridad, haz que sea +4
. Para mantener las últimas tres copias de seguridad, +5
, y así sucesivamente.
Para eliminar todas las copias de seguridad, excepto la última, ejecute este 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)
Sé que podría hacerse más sofisticado definiendo variables y cosas, pero para ser sincero, no estoy muy versado en los scripts de shell. Solo sé que los otros súper complicados no funcionaron, pero este lo hizo por mí, así que aquí está para la posteridad.