Linux中的計畫任務 Crontab

2021-07-12 04:33:47 字數 3279 閱讀 5754

crontab是乙個用於設定週期性被執行的任務工具。

開源免費的ssh工具:putty工具

注:windows在執行中輸入services.msc開啟服務管理

// 每分鐘都列印當前時間到乙個日誌檔案中

#crontab

-e*/1

****

date

>> /tmp/log

.txt

// 儲存退出

// 動態檢視log.txt最後幾行資訊

#tail

-f /tmp/log

.txt

系統服務

配置工具--

----

----

----

----

----

-|配置檔案|--

---> |crond|

<---

--|crontab|--

----

----

----

----

----

檔案方式設定定時任務

每分鐘都會從配置檔案重新整理定時任務

用於調整定時任務

***

**command||

||||

|||-

---->星期0~7(0或者7表示星期天)||

|---

---->月份1~12||

----

----

->日期1~31|-

----

----

-->小時0~23--

----

----

--->分鐘0~59

30 21 * * * service httpd restart
45 4 1,10,22 * * service httpd restart
45 4 1-10 * * service httpd restart
*/2 *

* * service httpd restart

注:分鐘不能為*,否則意思為晚上11點到早上7點之間,任何一分鐘都可以重啟apache

// 每分鐘root使用者執行計畫任務

*/1 * * * * root echo

"job in the /etc/crontab file"

#vim /etc/cron.d/sysstat

// 修改後儲存

// 重新載入sysstat檔案

#crontab /etc/cron.d/sysstat

在/etc/cron.d/目錄下建立計畫任務檔案corntest

注:crontest檔案的計畫任務也是可以生效的

#vim crontest

*/1 **** crontester echo

"job in crontest file"

// 儲存並退出

// crontab 無法管理我們自己建立的crontest檔案,但crontest檔案中的計畫任務已生效

// crontab操作的檔案為/etc/spool/cron/root

#crontab

-l// 這裡預設為root使用者

#cat /var/spool/cron/root

// 顯示不同使用者的計畫檔案

#ls /var/spool/cron

/var/log/cron檔案儲存著cron的任務執行記錄

#tail

-f /var/log/cron

#vim .bash_profile

// 儲存並退出

#source .bash_profile

/etc

#crontab -e

// 儲存退出

// 顯示空行

四月的第乙個星期日早晨1時59分執行a.sh

// 日期和星期是或操作,下面則表示1號-7號和四月中的星期日那天都會執行591

1-74

0 /root/a.sh// 利用shell命令判斷是否是週日來執行指令碼,注:這裡%要用\轉義591

1-74 * test `date +\%w` -eq 0 && /root/a.sh

// 注:test的用法

#test 1 = 0 // 不能寫成 test 1=0,否則結果為0,test把1=0當成字串

#echo $?

1// 或使用

#test 1 -eq 0

兩個小時執行一次

// 錯誤的設定,下面0時每一分鐘都可以執行

* 0,2,4,6,8,10,12,14,16,18,20,22 * * * date

// 正確設定

0 */2 *

* * date

// 先滿足1-20約束,再滿足每隔2分鐘執行,即1 3 5 7 9 11 .. 19分執行date

1-20/2 * *

* * date

crontab中最小只能設定到每分鐘執行乙個命令,如果想沒半分鐘執行某個命令怎麼做到?

通過shell指令碼的sleep命令配合crontab即可完成這一功能

// 例如

date

&& sleep 30s &&

date

// 利用sleep休眠30s來延遲執行另乙個cmd

#crontab

-e*/1**

**date

>> /tmp/date

.log

*/1***

* sleep 30s; date

>> /tmp/date

.log

慕課網linux中計畫任務-crontab

cron計畫任務

1.列出計畫列表 crontab l u mysql 具體的檔案放在 var spool cron root 使用者 2.修改計畫 crontab e 3.刪除當前 crontab 檔案 crontab r 4.計畫任務意思 第1列分鐘1 59 第2列小時1 23 0表示子夜 第3列日1 31 第4...

計畫任務cron

原定的計畫任務 0 0 cd preload nohup sh preload4.sh ip.list dev null 2 1 缺省會在00 00點準時做預載入 指令碼名稱preload4.sh 預載入檔案 txt 預載入裝置 ip.list 客戶定期會有預載入功能 每次只需要登陸裝置 更換 tx...

cron計畫任務

cron計畫任務 任務計畫 比如每天什麼時間固定來備份資料等等,類似的計畫 1 crontab l命令 可以檢視到當前使用者都有哪些任務計畫 2 crontab u aming l 指定檢視aming使用者的任務計畫 3 crontab e 編輯任務計畫,舉例如下 注 如上圖內容 10 2 20 時...