Linux計劃任務(at,crontab)

在LINUX中,我們通過crontab和at這兩個東西來實現

at:它是一個可以處理僅執行一次就結束的指令
crontab:它是會把你指定的工作或任務,比如:腳本等,按照你設定的周期一直循環執行下去


1.at計劃任務的使用
語法格式: at 時間
服務:atd
開啟atd服務
對應的查看atd服務,如果沒有啟動則啟動

rpm -q at  #查看at包有沒有安裝
yum install at -y #安裝at包
#這里可以先查詢一下,如果沒有at命令的話,則可以直接用yum命令安裝

這里寫圖片描述
使用at創建計劃任務

at 20:48     --注意語法,如果是上午的時間,后面要加am如[10:25 am]
at> mkdir /root/test        ---輸入要執行的命令或腳本at> <EOT>       --按ctrl+d結束job 1 at Fri Oct 28 20:48:00 2016

at -l 查看計劃任務
atq 查看計劃任務
at計劃任務的特殊寫法

#  at 20:00 2016-10-1   在某天 
# at now +10min   在 10分鐘后執行
# at 17:00 tomorrow   明天下午5點執行
# at 6:00 pm +3 days   在3天以后的下午6點執行

對于系統來說 :計劃任務 就是在某個特定的時刻 執行一個腳本文件
創建成功的at計劃任務會在/var/spool/at/目錄下成生一個可執行的腳本文件

每一個腳本都對應一個at計劃任務

刪除at計劃任務
atrm 命令
atrm + 計劃任務的編號

2.crontab定時任務的使用
crond命令定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作
cron是一個linux下的定時執行工具,可以在無需人工干預的情況下運行作業。
linux任務調度的工作主要分為以下兩類:
.系統執行的工作:系統周期性所要執行的工作,如備份系統數據、清理緩存. 例如/tmp 臨時目錄
.個人執行的工作:某個用戶定期要做的工作,由每個用戶自行設置。

啟動服務

  systemctl status crond    #   (查看crond服務的狀態)systemctl restart crond   # 重啟 systemctl enable crond     #   開機自啟

cron命令參數介紹:
這里寫圖片描述
crontab的參數:
crontab -u #指定某個用戶的cron服務
crontab -l #列出cron服務的詳細內容
crontab -r #刪除cron服務
crontab -e #編輯cron服務
例如:
crontab -u root -l # root查看自己的cron計劃任務
crontab -u san -r # root想刪除san的cron計劃任務

特殊符號的含義

符號含義示例
*代表取值范圍內的數字(任意)
/代表”每”*/10
-代表從某個數字到某個數字6-18
分開幾個離散的數字6,18

我們可用crontab -e命令來編輯計劃任務
編輯的是/var/spool/cron下對應用戶的cron文件
crontab的計劃任務內容保存在目錄/var/spool/cron下面

編輯計劃任務

crontab -u root -e 

也可以直接在/etc/crontab中添加計劃任務
cron服務每分鐘不僅要讀一次/var/spool/cron內的所有文件,還需要讀一次/etc/crontab
因此我們配置這個文件也能運用cron服務做一些事情。

用crontab配置是針對某個用戶的,而編輯/etc/crontab是針對系統的任務
編輯/etc/crontab 配置文件 (說明)

vi /etc/crontab

這里寫圖片描述
SHELL=/bin/bash #變量的值指定shell 環境(此處默認為 bash shell);
PATH=/sbin:/bin:/usr/sbin:/usr/bin # PATH 變量定義用來執行命令的程序路徑;
MAILTO=root //如果出現錯誤,或者有數據輸出,數據作為郵件發給這個帳號

系統級別的計劃任務
對于系統級別的計劃任務,需要執行的命令和腳本都放在這里:
/etc/cron.* 按兩次tab

 ls /etc/cron
cron.d/       cron.deny     cron.monthly/ cron.weekly/  
cron.daily/   cron.hourly/  crontab       

目錄作用解釋:
cron.d/ #是系統自動定期需要做的任務,但是又不是按小時,按天,按星期,按月來執行的,那么就放在這個目錄下面。
cron.deny #控制用戶是否能做計劃任務的文件;
cron.monthly/ #每月執行的腳本;
cron.weekly/ #每周執行的腳本;
cron.daily/ #每天執行的腳本;
cron.hourly/ #每小時執行的腳本;
crontab #主配置文件 也可添加任務;

計劃任務案例
1)每天晚上21:30 重啟apache30 21 * * * /etc/init.d/httpd  restart
2)每月11022日的4 : 45重啟apache。45 4 1,10,22 * *  /etc/init.d/httpd  restart
3)每月110日的4 : 45重啟apache。45 4 1-10 * *   /etc/init.d/httpd  restart
4)每隔兩天的上午8點到11點的第3和第15分鐘執行apach3,15 8-11 */2 * * etc/init.d/httpd  restart
5)晚上11點到早上7點之間,每隔一小時重啟apach* 23-7/1 * * * /etc/init.d/apach restart
6)周一到周五每天晚上 21:15 寄一封信給 root@xuegod72:15 21 * * 1-5  mail -s "hi" root@xuegod72 < /etc/fstab

anacron
cron用控制循環執行例行性工作。如果我要設定機器每早8點進行備份服務。除非我機器保證在8點這個時間點不會關機,如果關機了,cron中的腳本,在下次開機將不會被執行。
anacron并沒有取代cron的意思,anacron用于機器重啟后,會偵測停機期間,有沒有cron沒有執行的計劃任務,如果有,會立即執行一下沒有執行的任務。

注意事項
每條任務調度執行完畢,系統都會將任務輸出信息通過電子郵件的形式發送給當前系統用戶,這樣日積月累,日志信息會非常大,可能會影響系統的正常運行,因此,將每條任務進行重定向處理非常重要
當crontab突然失效時,可以嘗試/etc/init.d/crond restart解決問題。或者查看日志看某個job有沒有執行/報錯tail -f /var/log/cron。
在crontab中%是有特殊含義的,表示換行的意思。如果要用的話必須進行轉義\%,如經常用的date ‘+%Y%m%d’在crontab里是不會執行的,應該換成date ‘+\%Y\%m\%d’

?

將一個月中10天的日志歸檔

#!/usr/bin/env bash
#[-d $PWD/file] && mkdir -p $PWD/file &&exit 1
data='/usr/local/src/log'
cd $data
date_d=`date +%d`
result=$[date_d/10]
result=0
date_m=`date +%Y%m`
if [ $result -eq  0 ]
thennum=01nowdate=`date +%Y-%m-01` #本月第一天enddate=`date -d "last day $nowdate" +%Y-%m-%d` #上個月最后一天startdate=`date -d "$enddate" +%Y-%m-21`end_day=`date -d "$enddate" +%d`start_day=`date -d "$startdate" +%d`dayDiff=$[end_day-start_day+1]
fiif [ $result -eq 1 ]
thennum=02startdate=`date +%Y-%m-01`dayDiff=10fiif [ $result -eq 2 ]
thennum=03dayDiff=10startdate=`date +%Y-%m-11`
fitargit_dir=${date_m}${num}
echo $targit_dir
if [ ! -d $targit_dir ];thenmkdir $targit_dir
fi
for i in `seq $dayDiff`
dofind /usr/local/src -name "access.log-$startdate-*" 2> /dev/null -exec mv {} $data/$targit_dir \;
#    find /usr/local/src -name "access.log-$startdate-*"startdate=`date -d "+1 day $startdate" +%Y-%m-%d`
done
tar jcf $targit_dir.tar.bz2 $targit_dir
if [ $? -eq 0 ];thenrm -fr $targit_dir
fi

?

?

轉載于:https://www.cnblogs.com/flyhgx/p/6367978.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/270568.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270568.shtml
英文地址,請注明出處:http://en.pswp.cn/news/270568.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

硬件:筆記本電腦7大分類總結,看完你就明白了

目錄 游戲本 超極本 輕薄本 學生本 商務本 二合一電腦 上網本 今天給大家分享筆記本電腦7大場景分類&#xff0c;看完你就明白了&#xff01; 游戲本 游戲本最早由外星人和微星推出&#xff0c;在90年代就引起了眾多游戲玩家的熱捧。目前游戲本在筆記本電腦市場可謂是超級火爆&…

數字反轉

3.數字反轉 Description&#xff1a; 給定一個整數&#xff0c;請將該數各個位上數字反轉得到一個新數。新數也應滿足整數的常見形式&#xff0c;即除非給定的原數為零&#xff0c;否則反轉后得到的新數的最高位數字不應為零&#xff08;參見樣例2&#xff09;。 Input&#xf…

網路知識:為什么寬帶越用越慢,看完你就明白了

目錄 一、辦理寬帶的時候要問清楚寬帶是不是獨享的&#xff01; 二、定期重啟路由器 三、定期檢修寬帶線路 四、出口光貓或路由器的問題 每個家庭都有安裝寬帶&#xff0c;但是仍然有不少人不知道寬帶的基本常識&#xff0c;今天和大家一起來聊一聊。 首先寬帶&#xff0c;是一…

設計模式---------門面模式

1.概念 提供一個統一的接口去訪問多個子系統的多個不同的接口&#xff0c;它為子系統中的一組接口提供一個統一的高層接口。使用子系統更容易使用。 本質&#xff1a;就是化零為整&#xff1b;引入一個中介類&#xff0c;把各個分散的功能組合成一個整體&#xff0c;只對外暴…

java delphi aes加密算法_Delphi AES,又一個加密算法例子

/////AES DEMO V1.0////作者&#xff1a;ksaiy////歡迎使用由ksaiy制作的AES加密算法演示程序&#xff0c;此算法為標準的AES算法&#xff0c;你可以根據的//的自己需要進行變形。具體怎么操作可以登錄我們的網站查詢詳細的資料。我們專門為軟//件開發者提供軟件加密安全測試服…

電腦技巧:推薦五款超級好用的電腦小眾軟件

目錄 1、HoneyView 看圖神器 2、PeaZip 壓縮軟件 3、Sandbox 沙盤工具 4、Seer 預覽神器 5、flux 護眼神器 今天給大家推薦五款超級好用的電腦小眾軟件&#xff0c;希望對大家能夠有所幫助&#xff01; 1、HoneyView 看圖神器 HoneyView 看圖軟件&#xff0c;打開速度非常快&am…

java math round小數_Java——Math的round方法

代碼如下&#xff0c;后面的注釋是輸出的結果public static voidmain(String[] args) {System.out.println(Math.round(0.399));//0System.out.println(Math.round(0.4));//0System.out.println(Math.round(0.41));//0System.out.println(Math.round(0.499));//0System.out.pri…

電腦軟件:9款超級實用的辦公軟件

目錄 一、Quicker 二、Eagle 三、FSCapture 四、圖說 五、Lively Wallpaper 六、愛奇藝萬能聯播 七、Fliqlo 八、Folder Painter 九、7Zip 今天給大家分享9款超級實用的辦公軟件&#xff0c;值得收藏&#xff01; 一、Quicker 作為全網好評的這款國產軟件&#xff0c;可以秒殺很…

20145231 《信息安全系統設計基礎》期中總結

20145231 《信息安全系統設計基礎》期中總結 教材學習內容復習 結合課本知識及再次實踐加深理解記憶 按照學習時相關重點知識的順序進行整理歸納 實踐內容&#xff1a;重要命令的使用 gdb調試棧幀&#xff08;再理解&#xff09; makefile 編譯運行代碼深入理解局部性 Linux中的…

資源分享:分享5個冷門而超級實用的在線網站

目錄 1、網站配色-Adobe color 1、YYDS電影 3、藍調music 4、在線藝術圖庫 5、全景看世界 AirPano 1、網站配色-Adobe color 網站&#xff1a;https://color.adobe.com/zh/ 只需要在網上找到一張有你喜歡的顏色的任意圖片或者照片&#xff0c;拖入網頁&#xff0c;Adobe Color …

常用插件:分享12款超級好用的 Chrome 插件

1、dblock Plus&#xff1a;免除廣告困擾你是不是每次搜索百度前幾個都是廣告&#xff1f;有了它&#xff0c;你的搜索結果只有純凈。2. 監聽網絡請求插件simple-extension插件讓每個網站都可以保存/切換Cookies、切換User-Agent&#xff0c;簡單地監聽網絡請求。地址&#xff…

IrregularGridCollectionView處理不定寬度的標簽cell

IrregularGridCollectionView處理不定寬度的標簽cell 效果 源碼 https://github.com/YouXianMing/UI-Component-Collection 中的 IrregularGridCollectionView // // IrregularGridCollectionView.h // IrregularGridCollectionView // // Created by YouXianMing on 16/8/3…

服務端負載均衡和客戶端負載均衡

服務端負載均衡 用戶在App訪問通過80端口請求nginx,ngin來實現負載均衡&#xff0c;分發請求 客戶端負載均衡 Eureka Server注冊中心集群部署&#xff0c;goods_services服務提供者啟動后向Eureka Server注冊中心進行服務注冊 App服務從Eureka Server發現服務 goods_servic…

java上傳和下載文件代碼_JavaWeb中上傳和下載文件實例代碼

一丶先引入上傳下載的lib二丶上傳的的servletpackage com.test.action;import java.io.file;import java.io.fileoutputstream;import java.io.ioexception;import java.io.inputstream;import java.io.outputstream;import java.util.list;import javax.servlet.servletexcept…

kafka java api 刪除_使用Java API創建(create),查看(describe),列舉(list),刪除(delete)Kafka主題(Topic)...

使用Kafka的同學都知道&#xff0c;我們每次創建Kafka主題(Topic)的時候可以指定分區數和副本數等信息&#xff0c;如果將這些屬性配置到server.properties文件中&#xff0c;以后調用Java API生成的主題將使用默認值&#xff0c;先改變需要使用命令bin/kafka-topics.sh --zook…

操作系統:Linux 環境變量配置的 6 種方法

目錄 Linux環境變量配置 Linux讀取環境變量 Linux環境變量配置方法一&#xff1a;export PATH Linux環境變量配置方法二&#xff1a;vim ~/.bashrc Linux環境變量配置方法三&#xff1a;vim ~/.bash_profile Linux環境變量配置方法四&#xff1a;vim /etc/bashrc Linux環境變量…