Come posso cancellare manualmente i vecchi backup nello spazio libero per Time Machine?

201

Uso Time Capsule per il backup e ora voglio che l'unità esegua il backup dei dati da un Mac aggiuntivo. Ma l'unità è piena di vecchi backup da Mac 1. Semplicemente non c'è abbastanza spazio disponibile per il backup per Mac 2.

Ricevo questo messaggio di errore quando eseguo il backup di Time Machine:

Time Machine could not complete the backup. This backup is too large for the backup disk. The backup requires 28.68 GB but only 626.2 MB are available.

Time Machine needs work space on the backup disk, in addition to the space required to store backups. Open Time Machine preferences to select a larger backup disk or make the backup smaller by excluding files.

So che Time Machine è in grado di rimuovere vecchi backup quando ha bisogno di più spazio. Ma in questo caso non rimuove i backup del Mac 1 per creare spazio per Mac 2.

La domanda è, come faccio manualmente?

    
posta Jesper Rønn-Jensen 04.02.2012 - 20:36
fonte

8 risposte

213

Fai attenzione con sudo e assicurati di scegliere i file Mac corretti in quanto non è possibile annullare o confermare il seguente comando:

sudo tmutil delete /Volumes/drive_name/Backups.backupdb/old_mac_name

Il comando sudo ha bisogno della tua password (e non farà eco allo schermo, quindi basta digitare e mettere in pausa per essere sicuro di uscire con i file corretti prima di premere invio). Se si desidera essere più sicuri, è possibile selezionare prima un'istantanea da eliminare per assicurarsi che il comando funzioni come previsto. Questo è bello perché potrebbero essere necessarie ore per pulire alcuni set di backup più grandi e si desidera lasciare il Mac confidando che stia cancellando l'archivio informazioni corretto.

Puoi utilizzare lo strumento tmutil per eliminare i backup uno per uno.

sudo tmutil delete /Volumes/drive_name/Backups.backupdb/mac_name/YYYY-MM-DD-hhmmss

Poiché tmutil è stato introdotto con Lion, questo non funzionerà con versioni precedenti del sistema operativo.

Se si desidera ottenere la directory corrente dei backup (possono essere definite più destinazioni e solo una sarà "corrente")

sudo tmutil machinedirectory
    
risposta data 05.07.2012 - 22:16
fonte
76

Il modo più semplice è:

  1. Inserisci la macchina del tempo (sul Mac di cui desideri eliminare il backup)
  2. Vai al momento in cui desideri eliminare
  3. Seleziona l'icona che appare come un ingranaggio nel mirino e scegli "Elimina backup" (in Mavericks: fai clic con il pulsante destro del mouse nella finestra del mirino e scegli "Elimina backup")

Ciò garantisce che il catalogo di backup rimanga accurato e che l'integrità dei dati rimanga intatta.

    
risposta data 29.07.2012 - 01:17
fonte
33

Per Mavericks / Yosemite

  1. Inserisci la macchina del tempo
  2. Seleziona il backup
  3. Fai clic con il pulsante destro del mouse sul backup (nella finestra del Finder)
  4. Seleziona "Elimina backup"

Richiederà la password e il gioco è fatto

    
risposta data 02.02.2014 - 16:57
fonte
16

script bash:

COMPUTER_NAME=$(/usr/sbin/scutil --get ComputerName)
NBACKUPS=$(/usr/bin/tmutil listbackups |
  /usr/bin/grep "$COMPUTER_NAME" |
  /usr/bin/wc -l)
OLDEST_BACKUP=$(/usr/bin/tmutil listbackups |
  /usr/bin/grep "$COMPUTER_NAME" |
  /usr/bin/head -n1)
LATEST_BACKUP=$(/usr/bin/tmutil latestbackup)
echo Latest backup: $LATEST_BACKUP
if [[ -n "$LATEST_BACKUP" && "$LATEST_BACKUP" != "$OLDEST_BACKUP" ]]
then
 echo -n "$NBACKUPS backups. Delete oldest: ${OLDEST_BACKUP##*/} [y/N]? "
read answer
 case $answer in
  y*)
echo Running: /usr/bin/sudo /usr/bin/tmutil delete "$OLDEST_BACKUP"
/usr/bin/sudo time /usr/bin/tmutil delete "$OLDEST_BACKUP"
;;
*)
 echo No change
 ;;
 esac
 else
 echo "No backup available for deletion"
 fi
    
risposta data 20.12.2012 - 02:24
fonte
13

Mi sono posto questa stessa domanda, e le risposte qui hanno sicuramente aiutato. Tuttavia, manca un aspetto che potrebbe essere una nuova implementazione "dettaglio" che non esisteva quando è stata data una risposta a questa domanda.

tmutil delete elimina effettivamente i backup, ma in realtà non recupera lo spazio che hanno preso, almeno non in modo garantito. Ho trascorso circa 2 giorni interi a cancellare i backup da > 2 anni fa, che in base al messaggio di completamento finale ammontavano a ca. 400 GB di dati. Ho visto l'indicazione dello spazio di backup libero salire in modo corrispondente una volta , ma dopo il backup successivo ero di nuovo in basso a solo il 7% di spazio disponibile (858 GB utilizzati invece di circa 450 GB). Questo mi ha davvero ostacolato.

La risposta a questo mistero è riportata qui: link In breve, è necessario compattare il pacchetto sparse che contiene effettivamente il backup se è ospitato su un disco in rete o su un disco che non è formattato in HFS +. Non ho backup TM che non sono ospitati in un bundle sparse, quindi non posso verificare se l'utilizzo di tmutil delete non si ripercuota su quelli. Potrebbe benissimo fare e il fatto che non su Time Capsule potrebbe essere semplicemente una peculiarità del protocollo di bundle sparse. Il comando da eseguire dopo sudo tmutil delete è sudo hdiutil compact /Volumes/YourTimeMachineDisk/YourBackupName.sparsebundle . Nel mio caso quello riportato

Starting to compact…
Reclaiming free space…
...................................................................................................................................
Finishing compaction…
Reclaimed 403.2 GB out of 583.5 GB possible.

La buona notizia è che questo comando ha richiesto solo una frazione del tempo richiesto da tmutil, spendendo molto meno tempo a cercare sul disco e usando meno RAM (in effetti è stato completato nel tempo necessario per scrivere questa risposta).

    
risposta data 07.06.2016 - 11:10
fonte
12

Se Time Machine esegue solo il backup delle differenze, l'eliminazione in ordine inverso non è ciò che desideri. Inoltre, dato che ogni eliminazione può richiedere un po 'di tempo, avere uno script che cancellerà quello successivo al completamento di quello corrente sarebbe bello.

Dopo lo script di esempio di user36971 qui sopra, ne ho scritto uno che cancellerà tutti i backup da quello specificato e precedente:

#!/bin/bash

if [ -z "$1" ]
then
    echo "must specify backup id: YYYY-MM-DD-HHMMSS"
    exit 1
fi

FOUND_BACKUP=0;
BACKUPS=""
while read line; do
    if [[ "${line}" == *$1* ]]
    then
        FOUND_BACKUP=1;
    fi

    if [ "${FOUND_BACKUP}" == "1" ]
    then
        BACKUPS+="${line}"$'\n'
    fi
done < <(/usr/bin/tmutil listbackups | tail -r)

if [ "${FOUND_BACKUP}" == "0" ]
then
    exit 1
fi

printf '%s' "$BACKUPS"

echo -n "Delete above backups? [y/N]? "
read answer
case $answer in
    y*)
        while read line; do
            if [ -n "${line}" ]
            then
                echo Running: /usr/bin/sudo /usr/bin/tmutil delete "${line}"
                /usr/bin/sudo time /usr/bin/tmutil delete "${line}"
            fi
        done < <(echo "${BACKUPS}")
        ;;
    *)
        echo No change
        ;;
esac

Nota Non ho incluso il controllo del nome del computer nel mio script, quindi se condividi un'unità di backup con più computer, potrebbe essere necessario aggiungere un ulteriore controllo.

    
risposta data 09.09.2013 - 13:01
fonte
-2

Ecco cosa ho fatto per eliminare il mio vecchio backup

  1. Apri il disco della macchina del tempo
  2. Individua e apri la cartella Backups.backupdb
  3. Vai a visualizzare per data e scegli il più vecchio in alto
  4. Seleziona il backup che desideri eliminare
  5. Apri Teminal e digita sudo rm -rvf
  6. Trascina e rilascia le vecchie cartelle che vuoi eliminare nella finestra del terminale
  7. Inserisci la tua password utente al prompt

Vai a prendere un caffè o guardare un film, quando il processo è terminato potresti doverlo ripetere ancora per alcune cartelle che non vuoi eliminare.

Quando tutte le vecchie cartelle non sono più disponibili, Time Machine deve aggiornare il suo database. Ecco un modo per forzare l'aggiornamento di Time Machine.

  1. Inserisci Time Machine e vai al backup più vecchio che è ancora elencato
  2. Selezionalo e fai clic sul piccolo ingranaggio, quindi seleziona Elimina backup
  3. Inserisci la password e attendi qualche minuto
  4. Esci dall'interfaccia Time Machine e torna di nuovo. Ora dovresti avere il tuo Time Machine che elenca il backup corretto.
risposta data 18.08.2012 - 22:28
fonte
-3

basta aprire un terminale,

#sudo tmutil disablelocal

questo dovrebbe liberare spazio senza eliminare i backup TM

    
risposta data 20.02.2013 - 01:18
fonte

Leggi altre domande sui tag