1、安裝crond服務linux
yum -y update yum -y install cronie yum-cron
2、crontab任務語法shell
crontab任務配置基本格式: * * * * * command 第1列表示分鐘0~59 每分鐘用 * 或者 */1 表示 第2列表示小時0~23(0表示0點) 第3列表示日期1~31 第4列表示月份1~12 第5列標識號星期0~6(0,7均可表示星期天) 第6列要運行的命令或執行shell腳本
綜合起來就是: 分鐘(0-59) 小時(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0表明星期天) 命令spa
從上面能夠看出,crontab最小的時間單位: 1分鐘。若是要每30秒執行一次腳本,要麼寫個小腳本,要麼在crontab增長延遲。rest
例子:crontab中增長延遲30秒來實現日誌
a、crontab -e,添加以下內容: */1 * * * * sh && echo "dd" >> /logs/cron-cc.log */1 * * * * sleep 30 && echo "cc" >> /logs/cron-cc.log b、重啓crond systemctl reload crond systemctl restart crond c、查看當前用戶定時任務 crontab -l d、經過日誌查看是否生效 tail -f /logs/cron-cc.log
案例一:每隔10秒執行一次code
##crontab設置的最小時間爲每分鐘,實現以秒爲單位進行定時任務執行。blog
*/1 * * * * sh /root/shell/aa.sh
*/1 * * * * sleep 10 && sh /root/shell/aa.sh
*/1 * * * * sleep 20 && sh /root/shell/aa.sh
*/1 * * * * sleep 30 && sh /root/shell/aa.sh
*/1 * * * * sleep 40 && sh /root/shell/aa.sh
*/1 * * * * sleep 50 && sh /root/shell/aa.sh
注意:aa.sh爲執行腳本crontab
案例二:每隔20秒執行一次class
*/1 * * * * sh /root/shell/aa.sh
*/1 * * * * sleep 20 && sh /root/shell/aa.sh
*/1 * * * * sleep 40 && sh /root/shell/aa.sh
注意:aa.sh爲執行腳本
案例三:每隔5分鐘執行一次後臺
*/5 * * * * sh /root/shell/echo.sh
3、crontab經常使用命令
##查看當前用戶定時任務 crontab -l 調用/var/spool/cron/目錄下相關用戶的定時任務信息 查看定時任務日誌 tail -f /var/log/cron systemctl status crond.service systemctl start crond.service systemctl stop crond.service systemctl restart crond.service systemctl reload crond.service 把cron服務加入linux開機自啓動 systemctl enable crond.service systemctl is-enabled crond.service #crond後臺的工做狀況並過濾出來 ps -ef |grep crond|grep -v grep