Ich habe Probleme, ein einfaches Sicherungsskript auszuführen. Das folgende Skript wird die meiste Zeit ausgeführt, schlägt jedoch gelegentlich vollständig fehl (ohne Protokollinformationen auszugeben). Gibt es etwas im Skript, das die Ausführung zeitweise verhindern könnte?
Selbst wenn es ausgeführt wird, werden die Testprotokollmeldungen manchmal verzögert angezeigt (als ob die Protokolldatei beim Schreiben nicht berührt wird oder das Schreiben in die Protokolldatei verzögert wird), was die Diagnose erschwert.
#!/bin/bash
printf "`date`: Start of Runkit backup Power Manager script:\n" >> ~/Library/Logs/Mine/tests.log
if [ $(mount | grep -c '/Volumes/Run Kit') != 1 ]
then
printf "\tDon't copy: /Volumes/Run Kit not mounted\n" >> ~/Library/Logs/Mine/tests.log
else
if [ $(pmset -g ac | grep -c 'Wattage') != 1 ]
then
printf "\tDon't copy: Not plugged in\n" >> ~/Library/Logs/Mine/tests.log
else
caffeinate -s -t 1200 &
printf "\tDo copy: /Volumes/Run Kit mounted\n" >> ~/Library/Logs/Mine/tests.log
/Users/Rax/Library/Application\ Support/SuperDuper\!/Scheduled\ Copies/SDUtil -i || open file:///Users/Rax/Library/Application\%20Support/SuperDuper\%21/Scheduled\%20Copies/Smart\%20Update\%20Run\%20Kit\%20from\%20Main.sdsp/Copy\%20Job.app
fi
fi
printf "`date`: End of Runkit backup Power Manager script:\n" >> ~/Library/Logs/Mine/tests.log
exit 0
printf
Ich würde die Anweisungen zuerst in Anweisungen umwandeln logger -p user.info
, da sie in der Konsolen-App (und im Syslog) leicht beobachtet werden können, wenn das Skript ausgeführt wird.
Sie könnten auch ein zweites Skript erstellen, das nur Testmeldungen protokolliert oder leere Dateien erstellt, /usr/bin/touch /tmp/test.$$.log
um festzustellen, ob Ihr obiges Skript der Übeltäter ist oder ob das von Ihnen verwendete Power Manager-Tool das Skript nicht zuverlässig startet.
Sie können auch versuchen, eine App wie Lingon zu verwenden , um launchd
Ihr Skript zu starten. Das System verwendet diese Einrichtung, um sich selbst zu betreiben, ist also sehr zuverlässig und protokolliert Fehler gut, wenn Sie später einmal ein Problem beheben müssen.
-p user.info
zu Syslog zu gehen. Wohin gehen Nachrichten mit dieser Priorität?
Fahrrad
Orom
Graham Mill
Orom
Graham Mill
Orom