計劃任務 crontab、at

crontab使用方法:

*  *  *  *  *  command 分 時 日 月 周 命令 第1列表示分鐘1~59 (每分鐘用*或者 /1表示,/5 表明每5分鐘) 第2列表示小時1~23(0表示0點) 第3列表示日期1~31 第4列表示月份1~12 第5列標識號星期0~6(0表示星期天) 第6列要運行的命令php

實用命令

crontab -l
#查看計劃任務列表
crontab -e
#進入編輯計劃任務模式
grep 'SSH' /var/spool/cron/root &>/dev/null  ||echo  '*/5 * * * *  sh /root/SSH_Deny_Rule.sh' >>  /var/spool/cron/root
#沒有添加任務時追加一個

<!--more-->mysql

while秒級任務

#!/bin/bash
while true do 
command 
sleep 20 ###睡眠20秒執行一次 
done

while true ;do
/home/aide.sh >/dev/null 2>&1
sleep 7200 #2小時檢測
done

crontab 秒級任務

* * * * * sleep 10; php /home/php/crontab/tolog.phplinux

實例:

0 1 * * * /root/backup_mysql.sh
凌晨1點備份
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
每晚的21:30重啓apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
每個月一、十、22日的4 : 45重啓apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
每週6、週日的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。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小時重啓apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11點到早上7點之間,每隔一小時重啓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

全局配置文件cat /etc/crontab

01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

咱們可在此文件中添加本身須要的cron job. /etc/cron.deny文件就是用於控制不讓哪些用戶使用Crontab的功能. 用戶配置文件 每一個用戶都有本身的cron配置文件,經過crontab -e 就能夠編輯,通常狀況下咱們編輯好用戶的cron配置文件保存退出後,系統會自動就存放於/var/spool/cron/目錄中,文件以用戶名命名. linux的cron服務是每隔一分鐘去讀取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面全部的內sql

at計劃任務

例子

at now+10 minutes
#10分鐘任務
at 5pm+3 days
#3天下午5點任務

at>命令行
at> ctrl +d (退出)

at -l
#查看列表
at -c 2
#查看詳細任務
at -d 2
#刪除條目2的計劃任務
相關文章
相關標籤/搜索