การกำหนดเวลาให้ Raspberry Pi reboot ตัวเอง

โจทย์วันนี้ช่วยให้ Pi ที่ทำงานมาอย่างหนักทั้งวัน มีความสดใหม่และพร้อมเริ่มทำงานใหม่ เหมาะสำหรับ Pi ที่เอาไปต่อกับจอแสดงผล ประชาสัมพันธ์ โฆษณา ตู้ kiosk ที่ทำงานแบบไม่มีเวลาหยุดพัก แต่ไม่ใช่ว่าหยุดไม่ได้ หรือ ยอมรับได้หากมีการ reboot หรือ การดับไปชั่วขณะหนึ่ง สิ่งที่จะใช้ก็คือการตั้ง schedule ให้มัน reboot ตัวเองทุกวัน ตามเวลาที่กำหนด

Open Terminal

ไม่ว่าจะเข้าใช้แบบ VNC เข้าไป หรือ จะ SSH เข้าไปก็ได้เช่นกัน เพราะกระบวนการนี้ใช้เพียง text editor เท่านั้น เมื่อเปิด Terminal แล้ว ให้พิมพ์คำสั่งนี้เข้าไป

sudo crontab -e

จากนั้นกดเลือก Editor ที่จะใช้แก้ไขข้อความ ในที่นี้กด 1

pi@raspberrypi:~ $ sudo crontab -e

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.tiny
  3. /bin/ed

Choose 1-3 [1]: 1

ซึ่งเราจะกดแค่เพียงครั้งเดียว เป็นการกำหนด default editor ที่เราจะใช้ในการแก้ไขไฟล์ cronjob หากต้องการเปลี่ยน ให้ใช้คำสั่ง select-editor

Add Scheduled Reboot Time

ในที่นี้จะกำหนดให้ reboot ตอน ตี 1 โดยกำหนดคำสั่งดังนี้

0 1 * * * /sbin/shutdown -r now

การกำหนดค่าใน cronjob จะอ้างอิงตามนี้

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed