作者starbygod (aymo)
看板LinuxDev
標題[問題] crontab沒有跑我排程的script
時間Tue May 31 10:06:34 2022
Linux 版本 : CentOs 7.9.2009
virtualbox
大家好
我寫了一隻script要記錄ntpq -pn的offset, 單跑的時候會產出txt沒問題,
可是我寫了一支cron檔要排程呼叫這支script卻不會產出這個txt,
想請教大家問題出在哪裡呢。
這是我的script:
----------------------------------------------------------------------
#!/bin/bash
#
#
#Recording NTP offset status and restart the ntp service if unsynchronized
#
#
CheckIfTimeSynchronized=`/usr/sbin/ntpq -pn|egrep '^\*' > /dev/null;echo $?`
if [ $CheckIfTimeSynchronized -eq 0 ]; then
`/usr/sbin/ntpq -pn|egrep -i '^\*'|awk '{print $9}' >> offset.txt`
date >> offset.txt
else
systemctl restart ntpd
fi
------------------------------------------------------------------------
這是我寫的.cron檔 放在/etc/cron.d
scripts路徑為 /home/admin/scripts/NTP/NTPCheck.sh owner為root
------------------------------------------------------------------------
*/30 * * * * root /home/admin/scripts/NTP/NTPCheck.sh
------------------------------------------------------------------------
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.238.105.104 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1653962796.A.8F5.html
推 roccqqck: crontab為何要寫一個root 05/31 10:16
→ starbygod: 以root帳號執行 05/31 10:32
推 roccqqck: 以root帳號執行不是這樣寫 05/31 11:16
→ roccqqck: 你用哪個帳號crontab -e 就是哪個帳號執行 05/31 11:17
→ roccqqck: 每個帳號的crontab設定都不一樣 05/31 11:17
推 roccqqck: 試試這個指令 05/31 11:20
→ roccqqck: sudo crontab -l -u root 05/31 11:20
→ roccqqck: sudo crontab -l -u $USERNAME 05/31 11:20
→ starbygod: 可是我不是用crontab -e編輯的 我是產生一個.cron檔 05/31 11:47
→ starbygod: 放在/etc/cron.d路徑底下 05/31 11:48
推 holishing: 不知道耶, 但 7-8F 的方法看起來最簡單了 05/31 22:12
推 holishing: 其他能檢查的就那個 script 權限有沒有 +x 05/31 22:14
→ holishing: 不然就是把指令改成 bash <script 路徑> 05/31 22:15
推 roccqqck: 好吧我沒用過你的那種方法 06/01 10:49
推 roccqqck: 可能照樓上所說加個/bin/bash 06/01 12:04
→ starbygod: 過了過了 感謝兩位大大要加/bin/bash 06/01 13:32