Enviar alerta de correo electrónico de fondo si falla la copia de seguridad de Time Machine

4

Es curioso si hay una forma fácil de enviar una alerta de correo electrónico en segundo plano si una copia de seguridad de Time Machine falla (o falla continuamente en lugar de solo una vez)

He encontrado TM Error Logger , no puede ejecutarse en segundo plano y también genera el correo electrónico a través del sistema predeterminado cliente de correo, que luego debe ser enviado manualmente.

Idealmente, me gustaría una solución que lo haga en segundo plano sin ninguna intervención o acción por parte del usuario final, para que pueda recibir una notificación si sus máquinas no se están realizando una copia de seguridad.

El problema es que muchos usuarios no se dan cuenta de que Time Machine puede no estar funcionando para ellos; no saben buscar el "!" en el icono de la barra de menú de TM (o a menudo lo que significa)

    
pregunta Josh Newman 16.11.2011 - 16:46

4 respuestas

1

Recientemente lancé una aplicación para Mac llamada TMNotifier que se ejecutará en segundo plano y te notificará cuando ocurra un error de Time Machine. Tampoco depende del cliente de correo predeterminado, ya que le permite configurar SMTP en la propia aplicación.

Esteesunejemplodecómosevenlasalertas:

    
respondido por el James Barclay 24.05.2015 - 19:19
3

Este es un gran caso de uso para un shell simple o python o ruby script y launchd.

Supondré que puede encontrar en este sitio cómo configurar el elemento de lanzamiento o si desea comprar Lingon que es un gran ahorrador de tiempo. (Tenga en cuenta que Lingon 3 es para Lion y que también hay otra versión de pago para Snow Leopard llamada Lingon en la tienda de aplicaciones)

También deberá configurar un servidor de correo interno que acepte el correo de línea de comandos de todos sus clientes, por lo que hay una gran parte de la configuración.

Con todo ese "gesto de la mano" para explicar conceptos generales, ahora podría usar estos comandos centrales para realizar el trabajo:

  • tmutil latestbackup
  • date "+%Y-%m-%d"
  • mail -s "TimeMachine Failure Report from $HOSTNAME" "This mac needs attention"

Dependiendo de lo divertido que parezca, puede separar cada tarea y trabajar en ellas o buscar un software que esté diseñado para que lo haga por usted como Apple Remote Desktop o Robot Cloud .

    
respondido por el bmike 16.11.2011 - 17:14
0

Como dice bmike, puedes usar lingon. o manualmente crea tu propio agente de inicio

Aquí hay un ejemplo de prueba. El dispositivo de mi máquina del tiempo no estaba enchufado. Por lo tanto, las copias de seguridad fallarían.

Utilicé un applecript guardado como texto y con el shebang de osascript en la parte superior.

    #!/usr/bin/osascript
property i_The_Sender : "[email protected]"
property theAddress2 : "[email protected]"
set userNAME to ""
tell application "System Events"
    set userNAME to full name of current user
end tell
property theSubject : "TimeMachine Failure Report from "

set tm to do shell script "/usr/bin/syslog -F '$Time $Message' -k Sender com.apple.backupd -k Time ge -59m | tail -n 3"

if tm contains "failed" then
    set otherLog to do shell script "/usr/bin/syslog -F '$Time $Message' -k Sender com.apple.backupd-helper -k Time ge -59m | tail -n 20"
    tell application "Mail"
        set newMessage to make new outgoing message with properties {subject:(theSubject & userNAME), content:tm & return & otherLog}
        tell newMessage

            set visible to false
            set sender to i_The_Sender
            make new to recipient at end of to recipients with properties {address:theAddress2}

            send --<<<<---------------- change save to send to send or send to save to save in drafts

        end tell
    end tell

end if

Esto significa que puedo ejecutar Applescript como un script de shell nativo.

El script también enviará el correo electrónico en segundo plano. Ejecuta mail.app pero no está enfocado. Tampoco traerá mail.app al foco si mail.app ya se está ejecutando.

chmod el archivo de texto de Applecript como lo haría con un archivo de script de rueda normal para darle permisos de ejecución .ie. chmod a+x /path/tp/file

Usando lingon: Elige el archivo y ejecutas las opciones. Guardar y cargar. Si lo hace manualmente, coloque el archivo que lance el agente en ~/Library/LaunchAgents/

    
respondido por el markhunte 20.10.2012 - 20:50
-1

Error de Time Machine: reciba alertas de Growl I Creo que ya lo dice. Pero está bien ... escribí un script que verifica la antigüedad de la última copia de seguridad y alertas de la máquina de tiempo exitoso mediante el gruñido si es demasiado viejo.

    
respondido por el Skeeve 06.10.2012 - 23:50

Lea otras preguntas en las etiquetas