18 votes

Existe-t-il une commande bash pour vérifier si Time Machine a fini de sauvegarder ?

J'écris un script qui va rsycnc mon répertoire Time Machine vers un serveur distant en utilisant ssh. Je suis passé d'un script shell à un AppleScript puis de nouveau à un script Apple et je ne me soucie pas vraiment du type de script que la solution exigera.

J'ai réussi à démarrer le processus de sauvegarde avec ce petit bout de code.

do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper >/dev/null 2>&1 &"

Ce que j'essaie de faire maintenant, c'est d'exécuter une commande rsync une fois que la sauvegarde est terminée. Existe-t-il un moyen propre à AppleScript de vérifier si le processus de sauvegarde est terminé ? Ou existe-t-il un bon "hook" que vous pouvez utiliser dans bash pour vérifier si le processus est terminé ?

22voto

Oskar Points 1242

tmutil status est la méthode Lion, maintenant que nous disposons d'un bon outil pour ce type de requête.

Sur les systèmes d'exploitation plus récents, il existe une commande non documentée. tmutil currentphase qui affiche le nom de la phase en cours.

5voto

Vous pouvez également démarrer la sauvegarde avec tmutil startbackup -b . -b bloque la commande jusqu'à ce que la sauvegarde soit terminée.

4voto

Harv Points 6277

Voici une solution - je sais que c'est loin d'être une solution "correcte", mais j'imagine qu'elle pourrait fonctionner.

ps ax | grep "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper" | grep -v 'grep'

Ce qu'il fait, c'est rechercher dans la liste des processus le processus backupd-helper, puis filtrer la commande grep elle-même pour qu'elle n'apparaisse pas. Si la commande renvoie > 0 résultats, le processus backupd-helper est toujours actif. Si ce n'est pas le cas, le processus est terminé, et vous pouvez donc supposer qu'il est terminé.

4voto

Mark Gardner Points 101

tmutil status|grep -c "Running = 1"

renvoie '1' quand il fonctionne, '0' quand il ne fonctionne pas.

3voto

Graham Perrin Points 7373

L'absence de processus liés à la sauvegarde est no l'assurance qu'une sauvegarde Time Machine est complète

Sur le volume sur lequel Time Machine écrit ses sauvegardes : à côté du /Latest/ répertoire, considérez :

  • le .inProgress/ paquet.

Si cette liasse existe, la sauvegarde est incomplète.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X