Ho problemi a eseguire un semplice script di backup. Il seguente script viene eseguito la maggior parte del tempo, ma a volte fallisce completamente (senza stampare alcuna informazione di registro). C'è qualcosa nello script che potrebbe impedire a intermittenza di funzionare?
Anche quando viene eseguito, i messaggi del log di test sono talvolta ritardati nell'apparire (come se il file di registro non viene toccato quando viene scritto, o la scrittura nel file di log viene ritardata), rendendo difficile la diagnosi.
#!/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