Cron GUI
A graphical application for Cron is available by installing the
gnome-schedule
package:
sudo apt-get install gnome-schedule
Crontab คือคำสั่งที่จะทำงานตามเวลาที่กำหนด
ซึ่งจะช่วยทำให้เราสะดวกขึ้นมากในการที่จะต้องสั่งงานบางอย่างซ้ำๆ กันหลายๆ
ครั้ง อาจจะเป็นทุกๆ ชั่วโมง ทุกๆ วัน หรือ ทุกๆ เดือน เช่นการสั่งให้
Server ทำ Backup ทุกๆ สัปดาห์
คำสั่งและ option ของ crontab มีดังนี้
#crontab filename การนำเอาคำสั่ง crontab เข้ามาจาก ไฟล์อื่น
#crontab -e แก้ไข crontab ปัจจุบัน (ส่วนมากเราจะเพิ่มคำสั่งลงไปในนี้เลย)
#crontab -l ดูคำสั่ง crontab ทั้งหมดที่มีอยู่
#crontab -r ลบคำสั่ง crontab ที่มีทั้งหมด
#crontab -u user เป็นคำสั่งของผู้ดูแลระบบเท่านั้น เพื่อใช้ดู แก้ไข ลบ crontab ของ user แต่ละคน
เมื่อเรียกคำสั่งตามข้างบนแล้ว crontab จะเข้าสู่ระบบการ กำหนด หรือแก้ไข ซึ่งการกำหนด หรือแก้ไขนี้จะเหมือนกับการใช้งาน vi
รูปแบบของคำสั่ง crontab มีทั้งหมด 6 fields ดังนี้
1 = minute มีค่า 0 - 59 เวลาเป็นนาที จะสั่งให้คำสั่งที่กำหนดทำงานทันที่เมื่อถึงนาทีที่กำหนด
2 = hour มีค่า 0 - 23 เวลาเป็นชั่วโมง จะสั่งให้คำสั่งที่กำหนดทำงานทันที่เมื่อถึงชั่วโมงที่กำหนด
3 = day มีค่า 1 - 31 เวลาเป็นวัน จะสั่งให้คำสั่งที่กำหนดทำงานทันที่เมื่อถึงวันที่กำหนด
4 = month มีค่า 1 - 12 เวลาเป็นเดือน จะสั่งให้คำสั่งที่กำหนดทำงานทันที่เมื่อถึงเดือนที่กำหนด
5 = weekday มีค่า 0 - 6 วันขะงแต่ละสัปดาห์ มีค่าดังนี้ (อาทิตย์ = 0,
จันทร์ = 1, อังคาร = 2, พุธ = 3, พฤหัส = 4, ศุกร์ = 5 ,เสาร์ = 6 )
6 = command คำสั่ง เราสามารถกำหนดคำสั่งได้มากมาย รวมทั้ง script ต่าง ๆ ตามที่เราต้องการ
โดยสามารถจำเป็นรูปแบบง่ายได้ดังนี้
* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
เริ่มเพิ่ม Cron Jobs โดยใช้คำสั่ง
crontab -e
จากนั้นเพิมพ์คำสั่งดังต่อไปนี้ได้เลย
1 2 3 4 5 /path/to/script.sh
ยกตัวอย่างคำสั่ง Crontab รูปแบบต่างๆ
การสั่งให้ /path/to/command ทำงานเมื่อเวลาผ่านไป 5นาที หลังเที่ยงคืน ในทุกๆ วัน
5 0 * * * /path/to/command
การสั่งให้ /path/to/script.sh ทำงานเวลา 14.25น. ของวันที่ 1 ในทุกๆ เดือน
15 14 1 * * /path/to/script.sh
การสั่งให้ /scripts/phpscript.php ทำงานเวลา 22.00น. ในทุกๆ วัน ยกเว้นวันเสาร์ อาทิตย์
0 22 * * 1-5 /scripts/phpscript.php
โดยปกติแล้วเมื่อ Cron Jobs ทำงานระบบจะส่ง E-Mail เพื่อแจ้งให้ Server
Admin หรือ User ที่ตั้ง Cron Jobs ทราบว่า Cron Jobs
ทำงานเรียบร้อยหรือติดปัญหาอย่างไร
หากต้องการให้ Cron Jobs ส่ง E-Mail ไปยังบัญชีที่เราตั้งค่าไว้เราสามารถเพิ่มคำสั่งได้ดังนี้
MAILTO="admin@domain.com"
0 3 * * * /root/backup.sh
หากเราไม่ต้องการให้ระบบส่ง E-Mail เราสามารถตั้งค่า Cron Jobs
ได้โดยเพิ่ม /dev/null 2>&1 ตามหลัง command ที่จะสั่งให้ทำงาน
ยกตัวอย่างเช่น
0 1 5 10 * /path/to/script.sh >/dev/null 2>&1
ทำการ save แล้วสั่ง
/etc/init.d/crond restart
Run a task on reboot
To run a command every time the Raspberry Pi starts up, write
@reboot
instead of the time and date. For example:
@reboot python /home/pi/myscript.py
This will run your Python script every time the Raspberry Pi reboots.
If you want your command to be run in the background while the
Raspberry Pi continues starting up, add a space and
&
at the end of the line, like this:
@reboot python /home/pi/myscript.py &
เช่น
รันคำสั่ง reboot ทุก 5 นาที
*/5 * * * * /sbin/reboot
หรือ
*/5 * * * * reboot
รันคำสั่ง reboot ทุก 16:55
55 16 * * * /sbin/reboot
รันคำสั่ง reboot ทุก วันที่ 15 ของทุกเดือน
* * 15 * * /sbin/reboot
ไม่มีความคิดเห็น:
แสดงความคิดเห็น