1. 程式人生 > >linux[基礎]-19-計劃任務服務[01]

linux[基礎]-19-計劃任務服務[01]

tmp install 非交互式 列表 cell .tar.gz 管理 mman 用戶

計劃任務服務

一次性計劃任務:

例如:今晚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]