crontab中如何設定每30秒執行一次任務
阿新 • • 發佈:2018-11-23
crontab任務配置基本格式:
* * * * * command
第1列表示分鐘0~59 每分鐘用*或者 */1表示
第2列表示小時0~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0,7都可表示星期天)
第6列要執行的命令
綜合起來就是: 分鐘(0-59) 小時(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天) 命令
從上面可以看出,crontab最小的時間單位: 1分鐘。如果要每30秒執行一次指令碼,要麼寫個小指令碼,要麼在crontab增加延遲。
方法一: 小指令碼實現
#!/bin/bash while : do /var/script/run.sh sleep 30 # 延遲30秒執行 done
方法二: crontab中增加延遲30秒來實現
[[email protected] ~]# cat log.txt
2018-11-21 09:00:00
2018-11-21 09:00:30
2018-11-21 09:01:00
2018-11-21 09:01:30
2018-11-21 09:02:00
2018-11-21 09:02:30
......
[[email protected] ~]# crontab -l
* * * * * /var/script/run.sh >> log.txt
* * * * * sleep 30; /var/script/run.sh >> log.txt
[ [email protected] ~]# cat run.sh
#!/bin/bash
date +'%Y-%m-%d %H:%M:%S'