linux案例9

計劃任務管理

在系統中設置好一段命令,要求在規定的日期和時間執行,稱爲計劃任務
at命令
在指定的日期、時間點自動執行預先設置的一些命令操作,屬於一次性計劃任務
服務腳本名稱:/etc/init.d/atd
設置格式:at [HH:MM] [yyyy-mm-dd]
atq命令
用途:查詢當前設置的at任務列表
atrm命令:
用途:刪除指定任務編號的at任務
格式:atrm 編號
在這裏插入圖片描述
案例
[root@localhost 桌面]# service atd start 啓動atd系統服務
Redirecting to /bin/systemctl start atd.service
[root@localhost 桌面]# date 查詢當前時間
2018年 06月 12日 星期二 15:34:27 CST
[root@localhost 桌面]# at 16:00 在16:00執行計劃任務
at> reboot 重啓系統
at> Ctrl+D退出執行計劃任務
job 1 at Tue Jun 12 16:00:00 2018
[root@localhost 桌面]# atq 查詢執行計劃任務
1 Tue Jun 12 16:00:00 2018 a root
[root@localhost 桌面]# atrm 1 刪除第1條執行計劃任務
[root@localhost 桌面]# atq 查詢執行計劃任務
[root@localhost 桌面]# 無執行計劃任務
[root@localhost 桌面]# date 查詢當前時間
2018年 06月 12日 星期二 15:41:49 CST
[root@localhost 桌面]# at 15:43 在15:43執行計劃任務

at> reboot
at>
job 3 at Wed Jun 2 15:43:00 2018
[root@localhost 桌面]#
時間到重啓系統
在這裏插入圖片描述

計劃任務管理 —— crontab

crontab命令
按照預先設置的時間週期(分鐘、小時、天……)重複執行用戶指定的命令操作,屬於週期性計劃任務
服務腳本名稱:/etc/init.d/crond
主要設置文件
全局配置文件,位於文件:/etc/crontab
用戶定義的設置,位於文件:/var/spool/cron/用戶名
管理cron計劃任務
編輯計劃任務:crontab -e [-u 用戶名]
查看計劃任務:crontab -l [-u 用戶名]
刪除計劃任務:crontab -r [-u 用戶名]
在這裏插入圖片描述
在這裏插入圖片描述
案例:
[root@localhost 桌面]# crontab –e 編輯計劃任務,用戶只需執行“crontab -e”命令後會自動調用文本編輯器(默認爲vi)並打開“/var/spool/cron/用戶名”文件,無需手動指定文件位置
在這裏插入圖片描述
按a進入編輯狀態,輸入編輯計劃任務(注:命令需使用絕對路徑)
查詢reboot命令的絕對路徑
在這裏插入圖片描述
要求每天12:00重啓系統
在這裏插入圖片描述
要求每天23:59關機,查詢關機命令絕對路徑
在這裏插入圖片描述
在這裏插入圖片描述
按ESC :wq保存並退出
[root@localhost 桌面]# crontab –l 查詢計劃任務
0 12 * * * /usr/sbin/reboot
59 23 * * * /usr/sbin/poweroff -p
[root@localhost 桌面]# crontab –r 刪除用戶的所有計劃任務
[root@localhost 桌面]# crontab –l 查詢用戶計劃任務
no crontab for root root用戶沒有計劃任務
[root@localhost 桌面]#

crontab應用示例:
示例1(root用戶):
每天早上7:50自動開啓sshd服務,22點50時關閉
每週六的7:30時,重新啓動httpd服務
每週一、三、五的17:30時,打包備份/etc/httpd目錄
示例2(jerry用戶):
每週日晚上23:55時將“/etc/passwd”文件的內容複製到宿主目錄中,保存爲pwd.txt文件
示例3:
root用戶查看自己的計劃任務列表
查看並刪除jerry用戶設置的計劃任務

[root@localhost 桌面]# crontab –e

按ESC :wq保存並退出
[root@localhost 桌面]# crontab –l 查詢用戶計劃任務
50 7 * * * /usr/sbin/service sshd start
50 22 * * * /usr/sbin/service sshd stop
30 7 * * 6 /usr/sbin/service httpd restart
30 17 * * 1,3,5 /usr/bin/tar -czf httpd.tar.gz /etc/httpd
[root@localhost 桌面]#
[root@localhost 桌面]# useradd jerry 創建Jerry用戶
[root@localhost 桌面]# passwd jerry 設置jerry用戶密碼
更改用戶 jerry 的密碼 。
新的 密碼:
無效的密碼: 密碼少於 8 個字符
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
[root@localhost 桌面]# crontab -e -u jerry 爲jerry用戶設置計劃任務

按ESC :wq保存並退出
[root@localhost 桌面]# crontab -l -u jerry 查詢jerry用戶計劃任務詢
55 23 * * 7 /usr/bin/cp /etc/passwd /home/jerry/pwd.txt
[root@localhost 桌面]# crontab -r -u jerry 刪除jerry用戶計劃任務
[root@localhost 桌面]# crontab -l -u jerry 查詢jerry用戶計劃任務詢
no crontab for jerry jerry沒有計劃任務
[root@localhost 桌面]#

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章