linux強制修改文件許可權「linux執行sh文件命令是什麼」

作為全新小白突然接觸crontab這個工具,難免觸及一些Linux基本規則的雷區,這裡將自身經驗順帶記錄,留作他人日後借鑒。

周邊命令

做任務計劃,不是寫好任務指令就完成了,還要注意以下一些事項:

1、每次修改完crontab任務計劃命令後執行以下命令

systemctl reload crond
systemctl restart crond

2、給文件增加可執行許可權

chmod +x ./cron.sh

3、腳本規範-在腳本開頭寫入

#!/bin/bash

4、絕對路徑:由某些軟體支持的命令,需要寫完整路徑調用,比如我平時使用的

downloadcsv intodb /opt/downloadcsv/export/xiaoneng_sxd/xiaoneng_sxd.csv 資料庫密碼

需要修改為

/opt/downloadcsv/downloadcsv intodb /opt/downloadcsv/export/xiaoneng_sxd/xiaoneng_sxd.csv 資料庫密碼

5、許可權問題

如下,只需新建.sh文件,並在其中,依據執行計劃需求按格式逐行輸入執行時間,執行用戶,執行命令即可

比較關鍵的問題是,這個.sh文件必須授予執行許可權,可以採用下面的命令進行授權:

chmod +x ./cron.sh

另外,如果command語句中涉及到日誌文件的寫入,該日誌文件要提前建好,還要進行寫入授權,以免出錯。

crontab命令與語法

我們權且將crontab命令分位兩類:

一類是crontab任務計劃本身的命令,另一類是crontab工具的操作指令。

1、crontab任務計劃指令語法Linux伺服器的任務計劃-crontab用法

圖片來自網路-侵刪

在以上各個欄位中,還可以使用以下特殊字元:

“*”代表所有的取值範圍內的數字,如月份欄位為*,則表示1到12個月;

“/”代表每一定時間間隔的意思,如分鐘欄位為*/10,表示每10分鐘執行1次。

“-“代表從某個區間範圍,是閉區間。如「2-5」表示「2,3,4,5」,小時欄位中0-23/2表示在0~23點範圍內每2個小時執行一次。

“,”分散的數字(不一定連續),如1,2,3,4,7,9。

註:由於各個地方每周第一天不一樣,因此Sunday=0(第一天)或Sunday=7(最後1天)。

2、任務計劃命令語法示例:

通過crontab -e 呼出crontab任務計劃編輯頁面(也有另一種方法,直接vi /etc/crontab文件進行編輯<這種是作為系統任務運行>),然後在彈出的編輯頁面輸入下列命令

* */1 * * * root /opt/downloadcsv/downloadcsv/cron.sh
# 強烈建議把用戶(root)加上,否則可能執行過程中會出現沒有許可權無法執行的情況。

上述命令表示每隔1小時,以root身份執行sh命令文件

crontab工具的操作指令

crontab [-u user] file
crontab [ -u user ] [ -i ] { -e | -l | -r }
  • • -u user:用於設定某個用戶的crontab服務;
  • • file: file為命令文件名,表示將file作為crontab的任務列表文件並載入crontab;
  • • -e:編輯某個用戶的crontab文件內容,如不指定用戶則表示當前用戶;
  • • -l:顯示某個用戶的crontab文件內容,如不指定用戶則表示當前用戶;
  • • -r:從/var/spool/cron目錄中刪除某個用戶的crontab文件。
  • • -i:在刪除用戶的crontab文件時給確認提示。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/268230.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-16 13:08
下一篇 2024-12-16 13:08

相關推薦

發表回復

登錄後才能評論