¿Hay un command bash para verificar si Time Machine ha finalizado la copy de security?

Estoy escribiendo un script que ejecutará mi directory de Time Machine en un server remoto que use ssh. Pasé de un script de shell a un AppleScript y luego a un script de Apple y realmente no me importa qué tipo de script requiera la solución.

He tenido éxito al comenzar el process de copy de security con este pequeño fragment de código.

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

Lo que bash hacer ahora es hacer que se ejecute un command rsync una vez que se complete la copy de security. ¿Hay alguna forma limpia en AppleScript para verificar si el process de copy de security se completó? ¿O hay un buen "gancho" que puedes usar en bash para comprobar si está completo?

  • ¿Cómo puedo montar un sparsebundle de Time Machine para poder modificarlo?
  • ¿Cómo puedo hacer que Time Machine haga una copy de security del contenido de FileVault mientras está conectado?
  • La copy de security de Time Machine en networking no crece después de cambiar el disco de respaldo a uno más grande
  • Solución de Backup / Time Machine para una oficina llena de iMacs?
  • Time Machine no pudo completar la copy de security
  • Error de connection de Time Capsule después de la actualización a Mavericks
  • ¿Las copys de security sin interrupciones de Time Machine Machine ahora que Time Capsule están descontinuadas?
  • ¿Por qué mdworker segfault al escanear files propiedad de root?
  • 7 Solutions collect form web for “¿Hay un command bash para verificar si Time Machine ha finalizado la copy de security?”

    Aquí hay una forma: sé que no está cerca de una solución "adecuada", pero me imagino que funcionaría.

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

    Lo que hace es search en la list de processs para el process backupd-helper, luego filtra el command grep para que no se muestre. Si el command devuelve> 0 resultados, el process backupd-helper todavía está activo. De lo contrario, el process ha finalizado, por lo que puede suponer que ya está hecho.

    tmutil status es la forma de Lion ahora que tenemos una buena herramienta para este tipo de consultas.

    También puede iniciar la copy de security con tmutil startbackup -b . -b bloquea el command hasta que la copy de security haya terminado.

    La ausencia de processs relacionados con la copy de security no es garantía de que se complete una copy de security de Time Machine

    En el volumen al que Time Machine escribe sus copys de security: junto con el directory … /Latest/ …, considere:

    • el … .inProgress/ … bundle.

    Si ese package existe, una copy de security está incompleta.

    tmutil status|grep -c "Running = 1"

    devuelve '1' cuando se ejecuta, '0' cuando no.

    El siguiente trabajo para mí …


    Script backup_status:

      #!/usr/bin/env bash # # Determines if Time Machine is running and works with older Mac OS x versions # if [ x == x`type -P tmutil` ]; then # Older OSx count=`ps -ef | grep -v grep | grep -c 'CoreServices/backupd'` # Should also detect /Volume/Time Machine …/Latest/… directory ….inProgress/… bundle existence here to make it tight. else # OSx 10.7+ count=`tmutil status | grep -c "Running = 1"` fi if [ $count == 0 ]; then echo stopped else echo running fi 

    Script backup_wait:

      #!/usr/bin/env bash # # Waits for Time Machine backup to complete # while [ `backup_status` == running ] ; do sleep 2 done 

    tmutils solo existe desde 10.7 en adelante. Antes, puede utilizar, como se mencionó, /System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper para ejecutar Time Machine manualmente.

    Luego puede usar wait para esperar hasta que el process finalice. Sin arguments, simplemente esperará; si proporciona el PID, puede get su valor de retorno (estado de salida).

    Particularmente, wait $! esperará el último process iniciado en ese shell. Sin embargo, como mencionó Lauri, esta espera volverá antes de que la máquina del time finalice porque el auxiliar de copy de security finaliza antes de que se complete la copy de security. No pude encontrar ningún nombre de process que indicara que la copy de security no estaba completa.

    Al mirar los contenidos de /var/logs/system.log (o a través de la console), noté que cuando finaliza la copy de security, lo último que se hace es expulsar la image del disco de la máquina del time. Efectivamente, verifiqué que (esto es OS X 10.6.8) durante la copy de security hay una /Volumes/Time Machine Backups . Por lo tanto, simplemente puede verificar si el directory existe. Cuando ya no lo hace, Time Machine finaliza.

    No estoy seguro de si esto funcionará para todos, ya que he seguido las instrucciones aquí para hacer una copy de security de una máquina con Windows en la networking.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).