Come rilevare da uno script che è in esecuzione un backup di Time Machine? [duplicare]

1

Per eseguire alcune sincronizzazioni con i server remoti per includere i dati nei backup di TimeMachine, ho usato uno script simile al seguente per evitare la sincronizzazione mentre TimeMachine è in esecuzione e non ho ottenuto metà dei backup sincronizzati.

La parte di rilevamento dello script che attende fino a quando TimeMachine ha smesso di funzionare su 10.8 quindi sto cercando un sostituto funzionante per questo.

#!/bin/sh -x


while ps -e | grep backupd | grep -v grep; do
    echo "Time Machine is running, waiting ..."
    sleep 60
done

Quanto sopra attende fino al termine di un TimeMachine che è già in corso. Questa è la parte che non funziona più su 10.8 poiché backupd è mostrato sempre in ps -e output. Quindi aspetterà per sempre.

Il resto dello script funziona ancora bene e viene messo qui solo come riferimento se qualcuno ha bisogno di spegnere TimeMachine durante uno script e poi di sicuro di nuovo in seguito.

save='defaults read /Library/Preferences/com.apple.TimeMachine AutoBackup | sed -e 's/0/false/' | sed -e 's/1/true/''

Questa è una correzione per il fatto che i valori di default letti danno 0 e 1 per bool s ma i valori di default scrivono solo accettano true e false

echo "Saved Time Machine state: AutoBackup = $save"

trap "echo 'Restoring Time Machine state'; defaults write /Library/Preferences/com.apple.TimeMachine AutoBackup -bool $save" EXIT HUP INT QUIT ABRT TERM

Qui ripristiniamo lo stato della macchina del tempo precedente quando lo script si arresta per qualsiasi motivo, non voglio accidentalmente spegnere la macchina del tempo e nessuno si accorge.

defaults write /Library/Preferences/com.apple.TimeMachine AutoBackup -int 0

Spegni TimeMachine, non sai perché -int 0 funziona qui, forse l'intera sed business non è più realmente necessaria? Penso che cambi il default in int che è ok per off (?)

# ... script that does some remote syncing with other machines while time machine is not running
    
posta Peer Stritzinger 28.11.2012 - 15:51
fonte

1 risposta

1

C'è un domanda duplicata che copre questo , ma la risposta è tmutil status ti dirà ogni volta che è in corso un backup e dettagli sul backup.

È possibile utilizzare tmutil per disattivare i backup, se lo si desidera, o anche leggere l'elenco dei backup in modo da poter prevedere quanti minuti fino al prossimo backup pianificato. Avevamo qualcosa di simile e poi abbiamo deciso di dare il via a un backup al termine della copia, in modo che fosse o meno in corso un backup: abbiamo una strong possibilità di un backup coerente al termine dell'operazione di copia.

    
risposta data 28.11.2012 - 17:11
fonte

Leggi altre domande sui tag