Linux 執行定時任務 shell指令碼

2021-09-07 08:34:59 字數 1236 閱讀 9999

下面我詳細說一下入如何執行shell指令碼

1.宣告一下我安裝的lnmp環境,shell指令碼存放的位置在 /usr/local/sbin路徑下面 

新建乙個test.sh

#! /bin/bash  

echo "yes" >> /home/abc.txt

儲存完畢後記得給予許可權 chmod 777 test.sh

shell指令碼通常都是以.sh 為字尾名的,這個並不是說不帶.sh這個指令碼就不能執行,只是大家的乙個習慣而已。所以,以後您發現了.sh為字尾的檔案那麼它可能是乙個shell指令碼了。test.sh中第一行要以 「#! /bin/bash」 開頭,它代表的意思是,該檔案使用的是bash語法。如果不設定該行,雖然您的shell指令碼也可以執行,但是這不符合規範。 # 表示注釋,在前面講過的。後面跟一些該指令碼的相關注釋內容以及作者和建立日期或者版本等等。當然這些注釋並非必須的,如果您懶的很,可以省略掉,但是不建議省略。因為隨著工作時間的逐漸過渡,您寫的shell指令碼也會越來越多,如果有一天您回頭檢視自己寫過的某個指令碼時,很有可能忘記該指令碼是用來幹什麼的以及什麼時候寫的。所以寫上注釋是有必要的。另外系統管理員並非只有您乙個,如果是其他管理員檢視您的指令碼,他看不懂豈不是很鬱悶。下面該執行一下這個指令碼了:

2.將shell指令碼加入定時任務

crontab -e

* * * * * /usr/local/sbin/test.sh

參  數:

-e  編輯該使用者的計時器設定。

-l  列出該使用者的計時器設定。

-r  刪除該使用者的計時器設定。

-u《使用者名稱》  指定要設定計時器的使用者名稱。

crontab 格式:

分鐘   小時   日   月   星期   命令

第1列表示分鐘1~59 每分鐘用*或者 */1表示

第2列表示小時1~23(0表示0點)

第3列表示日期1~31

第4列 表示月份1~12

第5列標識號星期0~6(0表示星期天)

第6列要執行的命令

記住幾個特殊符號的含義: 

「*」代表取值範圍內的數字, 

「/」代表」每」, 

「-」代表從某個數字到某個數字, 

「,」分開幾個離散的數字

3.檢視執行test.sh指令碼的結果

[root@iz2ze2ewt14msyueuiq693z home]# cat abc.txt 

yesyes

yesyes

執行成功  666

linux定時任務執行

crontab命令 一 定時運算元據庫 在開發過程中,有每天更新資料庫的需求,所以用crontab加了乙個定時器 crontab e 0 2 usr bin mysql uroot p123 ddbname dev null 2 1 每天兩點執行test.sql etc init.d crond r...

linux執行定時任務

linux執行定時任務 是否安裝crontab root localhost mysql bak crontab bash crontab command not found 證明沒有安裝,執行 yum y install vixie cron 3.可執行檔案是都正確 4.編輯定時任務 cronta...

linux定時任務執行

定時備份檔案 建立資料夾 mkdir p data backdata mkdir p data logs mkdir p data mysqlbak 進入資料夾 cd data mysqlbak 建立檔案touch backup.sh 編輯檔案 vi backup.sh 新增下面的內容 date d...