計劃任務:讓計算機在指定的時間執行指定的事情
1、分類:一次性計劃任務:at(臨時的計劃任務)
周期性計劃任務:cron
2、計劃任務管理:查atq、建立at、删除atrm
注:伺服器重新開機一般都是晚上 淩晨2點
at 時間
atq 或 at -l 查計劃清單
eg. at 20:00
at> poweroff 關機
at> ctrl+d
3、時間的寫法
HH:MM //18:30
midnight //0點 (午夜)
noon //12點 (中午)
teatime //16點(下午4點)
AM 或 PM字尾指定一天的上午或下午。 //at 2:00 pm
MMDDYY 、 MM/DD/YY 或 DD.MM.YY
now + 計數 時間機關(minutes 、hours 、 days 或 weeks)
eg. at now + 3 hours(從現在開始起三個小時後)
eg. at 4pm + 3 days //三天以後的下午4點執行一個任務
at 2am + tomorrom //明天上午2點
at 10am Jul 31 //7月31日上午10點
案例一:淩晨2點備份/etc目錄 到 /tmp格式為 etc.tar.xz
at 02:00
at> tar cvJf /tmp/etc.tar.xz /etc
at> ctrl+d
4、檢視所有使用者的計劃任務
atq
at -l
5、檢視某個計劃任務的詳細内容
at -c 工作号
6、删除計劃任務
atrm 工作号 ...
at -d 工作号 ...
案例二:腳本方式建立at計劃任務.
echo 'ls;date;pwd' | at 3:00 #用管道符将任務傳給at指令
案例三:用at将指定檔案(-f 檔案名)中的指令設為計劃任務.
#首先,建立指令檔案
vim /opt/aplan #添加如下内容
ls
date
pwd
tar -czvf /tmp/etc.tar.gz /etc
7、at權限管理、安全
/etc/at.allow 白名單:隻允許在此名單内的使用者使用at(此檔案本身不存在)
/etc/at.deny 黑名單:在此名單内的使用者不可以使用at
注:當兩個檔案都不存在,隻有root使用者可以使用at
當兩個檔案都存在,allow優先執行
-----------------------------------------------------------
at服務管理:
查at軟體是否已安裝:pm -q at
查at的檔案清單:rpm -ql at
查at的配置檔案清單:rpm -qc at
查at服務狀态:systemctl status atd 或 service atd status
重新開機at服務:systemctl restart atd 或 service atd restart
關閉at服務:systemctl stop atd 或 service atd stop
開機不啟動at服務:systemctl disable atd 或 chkconfig atd off
開機啟動at服務:systemctl enable atd 或 chkconfig atd on
at的其他檔案:
計劃檔案清單:ls /var/spool/at2 每隔2小時 //1 */2 * * * rm -rf /tmp1 * * * rm -rf /tmp5 * * * * root 指令 //每隔5分鐘以root身份去執行指令
以下目錄内可以存在腳本 該腳本就會按照時間去執行
cd /etc
cron.hourly/ #每小時
cron.weekly/ #每周
cron.daily/ #每天
cron.monthly/ #每月
6、删除超過一個月不使用的檔案
cat /etc/cron.daily/tmpwatch
7、crontab服務管理:
查軟體是否已安裝:rpm -q crontabs
查軟體的檔案清單:rpm -ql crontabs
查軟體的配置檔案清單:rpm -qc crontabs
服務狀态:systemctl status crond 注:d是daemon守護程序
重新開機at服務: systemctl restart crond 或 service crond restart
關閉at服務: systemctl stop crond 或 service crond stop
開機不啟動at服務: systemctl disable crond 或 chkconfig crond off
開機啟動at服務: systemctl enable crond 或 chkconfig crond on
8、cron權限管理
/etc/cron.allow 白名單:隻允許在此名單内的使用者使用crontab(此檔案本身不存在)
/etc/cron.deny 黑名單:在此名單内的使用者不可以使用crontab
注:兩個檔案都不存在,隻有root使用者可以使用crontab
兩個檔案都存在,allow優先執行