linux[基礎]-19-計劃任務服務[01]
計劃任務服務
一次性計劃任務:
例如:今晚11.30開啟網站服務(新網站發布)
長期性計劃任務:
例如:每周1.3.5打包備份/home/wwwroot為backup.tar.gz
一次性任務:
它是由atd服務/進程來實現的,計劃的管理操作命令是 " at "
參數 |
作用 |
at <時間> |
安排一次性任務 |
atq 或 at -l |
查看任務列表 |
at -c 序號 |
預覽任務及設置環境 |
atrm |
刪除任務 |
一般用at命令使用交互式或者非交互式兩種方法設置計劃任務,
完後ctrl+d保存退出
交互式:
[[email protected] ~]# at 23:30
at> systemctl start httpd
at> <EOT>
job 2 at Fri Sep 8 23:30:00 2017
[[email protected] ~]# atq #
2 Fri Sep 8 23:30:00 2017 a root
[[email protected] ~]# at -c 2 #預覽
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
非交互式:(使用echo語句直接傳輸到at命令)
[[email protected] ~]# echo "systemctl start httpd" | at 23:30
job 3 at Fri Sep 8 23:30:00 2017
[[email protected] ~]# atq
3 Fri Sep 8 23:30:00 2017 a root
[[email protected] ~]# atrm 3 #刪除序號為3的任務
[[email protected] ~]# atq #查看任務列表
[[email protected] ~]#
長期計劃任務:
建立長期計劃任務就需要cron服務
創建、編輯計劃任務:crontab -e [ -u 用戶名]
查看計劃任務:crontab -l [ -u 用戶名]
刪除計劃任務:crontab -r [ -u 用戶名]
編輯固定格式:
* * * * * (全路徑的命令)
受用cron服務設置每周1.3.5的淩晨3.25備份/home/wwwroot目錄為backup.tar.gz
但是裏面的command(命令)必須采用全路徑(因為環境變量的問題)
查詢命令全路徑的方法為:
[[email protected] ~]# which tar
/usr/bin/tar
開始編輯計劃任務:
[[email protected] ~]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[[email protected] ~]# crontab -l
25 03 * * 1,3,5 /usr/bin/tar -zvcf backup.tar.gz /home/wwwroot
[[email protected] ~]#
設置每周1-5的淩晨1點都會清空tmp目錄下的緩存文件:
[[email protected] ~]# crontab -e
crontab: installing new crontab
[[email protected] ~]# crontab -l
25 03 * * 1,3,5 /usr/bin/tar -zvcf backup.tar.gz /home/wwwroot
0 01 * * 1-5 /usr/bin/rm -rf /tmp/*
linux[基礎]-19-計劃任務服務[01]