5 votes

Envoyer une alerte par email d'arrière-plan si la sauvegarde de Time Machine échoue

Je me demande s'il existe un moyen facile d'envoyer une alerte par e-mail en arrière-plan si une sauvegarde Time Machine échoue (ou échoue de manière continue plutôt qu'une seule fois)

J'ai trouvé TM Error Logger, cependant, il ne peut pas s'exécuter en arrière-plan, et génère également l'e-mail via le client de messagerie par défaut du système, qui doit ensuite être envoyé manuellement.

Idéalement, je voudrais une solution qui le fait en arrière-plan sans aucune entrée ou action de l'utilisateur final - afin que je puisse être informé si leurs machines ne font pas de sauvegarde.

Le problème est que de nombreux utilisateurs ne réalisent pas que Time Machine ne fonctionne peut-être pas pour eux - ils ne savent pas qu'ils doivent rechercher le "!" dans l'icône de la barre de menus de TM (ou souvent ce que cela signifie)

0 votes

Si vous voulez plus de robustesse, vous devriez examiner comment faire fonctionner correctement le système de messagerie sur la machine. Cela vous permettra de mettre en mémoire tampon les e-mails si la connexion sortante est hors service pour une raison quelconque.

3voto

Oskar Points 1242

Ceci est un excellent cas d'utilisation pour un simple shell ou script python ou ruby et launchd.

Je suppose que vous pouvez trouver sur ce site comment configurer l'élément launchd ou voulez acheter Lingon qui est un très bon gain de temps. (Sachez que Lingon 3 est pour Lion et qu'il y a une autre version payante pour Snow Leopard simplement appelée Lingon sur l'App store)

Vous devrez également configurer un serveur de messagerie interne qui accepte les e-mails en ligne de commande de tous vos clients, donc il y a une grande partie de la configuration à faire.

Avec tout ce "mouvement de main" pour expliquer les concepts généraux, vous pouvez maintenant utiliser ces commandes de base pour faire le travail :

  • tmutil startbackup --block
  • date "+%Y-%m-%d"
  • mail -s "Rapport de panne de TimeMachine de $HOSTNAME" "Ce Mac a besoin d'attention"

En fonction de la quantité de plaisir que cela semble représenter, vous pouvez décomposer chaque tâche et travailler dessus ou vous renseigner sur des logiciels conçus pour le faire pour vous comme Apple Remote Desktop ou Robot Cloud.

0 votes

Merci - c'est une excellente réponse, cependant j'espère quelque chose de plus simple, et de préférence préemballé. Je suppose que là où cela pourrait échouer, c'est du côté de l'envoi d'e-mails, car il faudrait des identifiants SMTP pour envoyer des e-mails avec succès

1 votes

Les deux derniers liens que j'ai mis dans l'article sont de solutions pré-emballées. ARD est scriptable avec Automator ou Apple Script, donc vous pouvez facilement extraire l'information. L'autre est un logiciel en tant que service qui est incroyablement puissant et coûte 5 $ par machine surveillée.

2voto

James Barclay Points 26

J'ai récemment lancé une application Mac appelée TMNotifier qui tournera en arrière-plan et vous notifiera en cas d'erreur de Time Machine. Elle ne dépend pas non plus du client mail par défaut, car elle vous permet de configurer SMTP directement dans l'application.

TMNotifier

Voici un exemple de ce à quoi ressemblent les alertes :

0 votes

Merci d'avoir créé ça! Je n'arrive pas à croire qu'Apple n'ait pas rendu plus facile le suivi de Time Machine. La plupart des utilisateurs ne prennent pas la peine de le vérifier et/ou ignorent les avertissements.

0 votes

Pas de problème! Je suis content d'avoir pu aider.

0voto

markhunte Points 11634

Comme le dit bmike, vous pouvez utiliser lingon. ou créer votre propre agent de lancement

Voici un exemple de test. Mon appareil de sauvegarde Time Machine n'était pas branché. Les sauvegardes échoueraient donc.

J'ai utilisé un script Apple enregistré en tant que texte et avec le shebang osascript en haut du fichier.

    #!/usr/bin/osascript
property i_The_Sender : "senderAddress1@ip.com"
property theAddress2 : "recipientAddress@ip.com"
set userNAME to ""
tell application "System Events"
    set userNAME to full name of current user
end tell
property theSubject : "Rapport de défaillance TimeMachine de "

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

Cela signifie que je peux exécuter le script Apple comme un script shell natif.

Le script enverra également l'email en arrière-plan. Il lancera mail.app mais sans la mettre au premier plan. Il ne ramènera pas non plus mail.app au premier plan si mail.app est déjà en cours d'exécution.

chmod le fichier texte du script Apple comme vous le feriez pour un fichier de script normal pour lui donner des permissions d'exécution, c'est-à-dire chmod a+x /chemin/vers/fichier

En utilisant lingon: choisissez le fichier et les options d'exécution. Enregistrez et chargez. Si vous le faites manuellement, placez le fichier de votre agent de lancement dans ~/Library/LaunchAgents/

description de l'image

0 votes

Comment ce script peut-il être modifié afin qu'il envoie également des notifications par e-mail chaque fois qu'une sauvegarde Time Machine est réussie ou s'il y a des avertissements ou des notifications concernant les sauvegardes Time Machine? J'ai besoin d'être informé de tout ce qui concerne les sauvegardes Time Machine.

-1voto

jpkeisala Points 1101

Sauvegarde Time Machine en échec - Recevez une alerte via Growl Je pense que cela le dit déjà. Mais bon... J'ai écrit un script qui vérifie l'ancienneté de la dernière sauvegarde réussie de Time Machine et envoie une alerte via Growl si elle est trop vieille.

0 votes

Bienvenue sur Ask Different! Les réponses sur Ask Different doivent être plus que juste un lien. Il est acceptable d'inclure un lien, mais veuillez le résumer ou l'extraire dans la réponse.

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