ฉันมีปัญหาในการเรียกใช้สคริปต์สำรองอย่างง่าย สคริปต์ต่อไปนี้ทำงานเกือบตลอดเวลา แต่บางครั้งสคริปต์จะล้มเหลวทั้งหมด (โดยไม่ต้องพิมพ์ข้อมูลบันทึกใด ๆ ) มีบางอย่างในสคริปต์ที่สามารถป้องกันไม่ให้สคริปต์ทำงานเป็นระยะหรือไม่
แม้ว่าจะรันบางครั้งข้อความบันทึกการทดสอบจะปรากฏขึ้นล่าช้าในบางครั้ง (ราวกับว่าไฟล์บันทึกการทำงานไม่ได้ถูกสัมผัสเมื่อมีการเขียนหรือการเขียนไปยังไฟล์บันทึกล่าช้า) ทำให้การวินิจฉัยทำได้ยาก
#!/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