linux定時任務操作shell指令碼教程

2021-12-30 12:17:59 字數 1412 閱讀 6747

linux內建的cron程序能幫我們實現這些需求,cron搭配shell指令碼,非常複雜的指令也沒有問題。

cron介紹

我們經常使用的是crontab命令是cron table的簡寫,它是cron的配置檔案,也可以叫它作業列表,我們可以在以下資料夾內找到相關配置檔案。

/var/spool/cron/ 目錄下存放的是每個使用者包括root的crontab任務,每個任務以建立者的名字命名

/etc/crontab 這個檔案負責排程各種管理和維護任務。

/etc/cron.d/ 這個目錄用來存放任何要執行的crontab檔案或指令碼。

我們還可以把指令碼放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目錄中,讓它每小時/天/星期、月執行一次。crontab [-u username]    //省略使用者表表示操作當前使用者的crontab

-e (編輯工作表)

注意: 每次新增完任務後,一定記得重新啟動crond服務,不然不會生效

service crond restart

-l (列出工作表裡的命令)

-r (刪除工作作)

我們用crontab -e進入當前使用者的工作表編輯,是常見的vim介面。每行是一條命令。

crontab的命令構成為 時間+動作,其時間有分、時、日、月、周五種,操作符有

* 取值範圍內的所有數字

* * * * *

分 時 日 月 周

/ 每過多少個數字

- 從x到z

,雜湊數字

crontab 檔案中的行由 6 個字段組成,不同欄位間用空格或 tab 鍵分隔。前 5 個字段指定命令要執行的時間

分鐘 (0-59)

小時 (0-23)

日期 (1-31)

月份 (1-12)

星期幾(0-6,其中 0 代表星期日)

第 6 個字段是乙個要在適當時間執行的字串每分鐘執行一次

*/1 * * * * date

在/root/run_sh/下面寫乙個shell指令碼,命名為run.sh,內容如下

#!/bin/sh

echo hello > /root/hello.txt

然後執行crontab -e命令,寫入

*/1 * * * * /root/run_sh/run.sh(一定要絕對路徑)

儲存退出後執行service crond restart,過一分鐘後你就會在/root下看到hello.txt檔案。在上午8點到11點的第3和第15分鐘執行

3,15 8-11 * * * mycommand.sh 與上面的步驟同上每晚的21:30重啟smb

30 21 * * * /etc/init.d/smb restart

linux定時任務 at定時任務

at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...

linux 定時任務操作說明

1.檢查是否安裝定時任務 已檢查 rpm qa grep i crontabs 2.啟動crond服務 已啟動 service crond start 或者 etc init.d cron stop start restart status 3.檢查啟動的crontab crontab l 45 h...

linux定時任務

crontab 設定定時任務 crontab 可以根據分鐘 小時 日期 月份 星期的組合來設定定時任務的自動執行 要使用該服務必須啟動 crond 服務,檢視 crond 服務有沒有啟動,執行命令 servicecrond status 一些任務事例,幫助理解 3020 root back.sh 每...