$ crontab --help
Options:
-u <user> #指定用戶編輯或查看其定時任務,只有 root 用戶能使用
-e #編輯用戶的定時任務內容
-l #列出用戶的定時任務內容
-r #刪除用戶的定時任務內容
-i #刪除前確認,意義就是是否確認刪除。一個確認的過程
-n <host> set host in cluster to run users' crontabs
-c get host in cluster to run users' crontabs
-s selinux context
-x <mask> enable debugging
/var/spool/cron/ #目錄裏存放的是每個用戶的 crontab 定時任務,以創建者的名字命名
/etc/crontab #文件負責調度各種管理和維護任務
/etc/cron.d/ #目錄用來存放任何要執行的 crontab 文件或腳本
/etc/cron.deny #文件裏的用戶不允許編輯或查看 crontab 定時任務
/etc/cron.allow #僅允許文件裏的用戶編輯或查看 crontab 定時任務
# 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
*: 表示分鐘,範圍(0-59),* 代表每分鐘,*/5 代表每 5 分鐘, 1,3,5,7 代表第 1,3,5,7 分鐘的時候
*: 表示小時,範圍(0-23)
*: 表示日期,範圍(1-31)
*: 表示月份,範圍(1-12)
*: 表示周,範圍(0-6)星期中的天(day of week),取值 0-6,或採用星期單詞的英文簡寫
星號(*):代表全部的值,例如 day of month 字段如果是星號,則表示在滿足其它字段的制約條件後每天執行該任務
逗號(,):可以用逗號分隔開的值指定一個列表,例如,"1,2,5,7,8,9"
中槓(-):可以中槓表示一個範圍,例如 "2-6" 表示"2,3,4,5,6"
正斜線(/):可以用正斜線指定時間的間隔頻率,例如minute字段,"0-30/5"表示在0-30的範圍內每5分鐘執行一次;"*/5"表示每十分鐘執行一次。
command: 表示要執行的命令
示例
每隔 30 分鐘執行一次
*/30 * * * * /usr/bin/echo "test" >> /tmp/test.txt
每天早上 9 點執行一次
0 9 * * * /usr/bin/echo "It's nine o 'clock" >> /tmp/test.txt
每週六、週日 的 1 : 10 執行一次
10 1 * * 6,0 /usr/bin/echo "test" >> /tmp/test.txt
每月 1、10、20 日的 18:00 執行一次
00 18 1,10,20 * * /usr/bin/echo "test" >> /tmp/test.txt
每 1 小時執行一次
0 */1 * * * /usr/bin/echo "test" >> /tmp/test.txt
晚上 11 點到早上 8 點之間每兩個小時執行一次
0 23-7/2,8 * * * /usr/bin/echo "test" >> /tmp/test.txt
晚上11點到早上7點之間執行一次
- 23-7/1 * * * /usr/bin/echo "test" >> /tmp/test.txt
每個月的 4號 和每個星期的週一到週三早上11` 點
0 11 4 * 1-3 command line
(3)一些Crontab定時任務例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart #每晚的21:30 重啓apache
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart #每月1、10、22日的4 : 45重啓apache
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart #每週六、週日的1 : 10重啓apache
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart #每天18 : 00至23 : 00之間每隔30分鐘重啓apache
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart #每星期六的11 : 00 pm重啓apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart #晚上11點到早上7點之間,每隔一小時重啓apache
* */1 * * * /usr/local/etc/rc.d/lighttpd restart #每一小時重啓apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart #每月的4號與每週一到週三的11點重啓apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart #一月一號的4點重啓apache
*/30 * * * * /usr/sbin/ntpdate cn.pool.ntp.org #每半小時同步一下時間
0 */2 * * * /sbin/service httpd restart #每兩個小時重啓一次apache
50 7 * * * /sbin/service sshd start #每天7:50開啓ssh服務
50 22 * * * /sbin/service sshd stop #每天22:50關閉ssh服務
0 0 1,15 * * fsck /home #每月1號和15號檢查/home 磁盤
1 * * * * /home/bruce/backup #每小時的第一分執行 /home/bruce/backup這個文件
00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \; #每週一至週五3點鐘,在目錄/home中,查找文件名爲*.xxx的文件,並刪除4天前的文件。
30 6 */10 * * ls #每月的1、11、21、31日是的6:30執行一次ls命令
https://blog.csdn.net/qq_51514930/article/details/124269555