看板 LinuxDev 關於我們 聯絡資訊
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