Linux 執行定時任務 shell腳本


Linux上面執行定時任務,我們可以利用crontab -e直接編輯定時任務 另外我們還可以寫好shell腳本,定時去執行shell腳本,這兩個方法都可以起到定時執行的作用

下面我詳細說一下入如何執行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 
yes
yes
yes
yes

執行成功  666

--------------------- 轉自  作者:蘇康申 來源:CSDN 原文:https://blog.csdn.net/sukangshen/article/details/78900147?utm_source=copy 

其他參考: https://www.jb51.net/article/101569.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM