Invia un avviso e-mail in background se il backup di Time Machine fallisce

4

Curioso se esiste un modo semplice per inviare un avviso via email in background se un backup di Time Machine fallisce (o fallisce continuamente anziché solo una volta)

Ho trovato TM Error Logger tuttavia, non può essere eseguito in background e genera anche l'e-mail tramite i sistemi predefiniti client di posta, che deve quindi essere inviato manualmente.

Idealmente mi piacerebbe una soluzione in grado di farlo in background senza alcun input o azione da parte dell'utente finale, in modo da poter ricevere una notifica se i loro computer non eseguono il backup.

Il problema è che molti utenti non si rendono conto che Time Machine potrebbe non funzionare per loro - non sanno cercare "!" nell'icona della barra dei menu TM (o spesso cosa significa)

    
posta Josh Newman 16.11.2011 - 16:46
fonte

4 risposte

1

Recentemente ho rilasciato un'applicazione per Mac chiamata TMNotifier che verrà eseguita in background e ti avviserà quando si verifica un errore di Time Machine. Inoltre, non dipende dal client di posta predefinito, poiché consente di configurare SMTP nell'app stessa.

Eccounesempiodicomeappaionogliavvisi:

    
risposta data 24.05.2015 - 19:19
fonte
3

Questo è un ottimo caso d'uso per una semplice shell o script di python o ruby e launchd.

Immagino che tu possa trovare su questo sito come configurare l'oggetto launchd o se vuoi acquistare Lingon che è un grande risparmio di tempo. (Siate consapevoli che Lingon 3 è per Lion e c'è un'altra versione a pagamento per Snow Leopard chiamata solo Lingon sull'App Store)

Dovrai anche configurare un server di posta interno che accetti la posta della riga di comando da tutti i tuoi client, quindi c'è una grossa porzione di configurazione.

Con tutto ciò che "agita la mano" per spiegare concetti generali - ora puoi usare questi comandi principali per portare a termine il lavoro:

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

A seconda di quanto possa sembrare divertente, puoi selezionare ogni attività e lavorare su di essa o cercare nel software progettato per farlo come Apple Remote Desktop o Robot Cloud .

    
risposta data 16.11.2011 - 17:14
fonte
0

Come dice bmike, puoi usare il lingon. oppure manualmente rendi il tuo agente di lancio

Ecco un esempio di prova. Il mio dispositivo Time Machine non era collegato. Quindi i backup fallirebbero.

Ho usato un applescript salvato come testo e con lo shebang di osascript in cima.

    #!/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

Ciò significa che posso eseguire l'Applescript come script di shell nativo.

Lo script invierà anche l'e-mail in background. Avvia mail.app ma non a fuoco. Né porterà mail.app a mettere a fuoco se mail.app è già in esecuzione.

chmod il file di testo applescript come se fosse un file di script wheel normale per consentirgli di eseguire le autorizzazioni .ie. chmod a+x /path/tp/file

Uso del lingon: scegli il file ed esegui le opzioni. Salva e carica. Se lo fai manualmente, metti il file che avvii il file agente in ~ / Library / LaunchAgents /

    
risposta data 20.10.2012 - 20:50
fonte
-1

Time Machine in errore - ricevi avvisi da Growl I pensa che lo dica già. Ma va bene ... Ho scritto uno script che controlla l'età dell'ultimo backup della macchina del tempo e gli avvisi con growl se è troppo vecchio.

    
risposta data 06.10.2012 - 23:50
fonte

Leggi altre domande sui tag