作者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://webptt.com/cn.aspx?n=bbs/LinuxDev/M.1653962796.A.8F5.html
1F:推 roccqqck: crontab为何要写一个root 05/31 10:16
2F:→ starbygod: 以root帐号执行 05/31 10:32
3F:推 roccqqck: 以root帐号执行不是这样写 05/31 11:16
4F:→ roccqqck: 你用哪个帐号crontab -e 就是哪个帐号执行 05/31 11:17
5F:→ roccqqck: 每个帐号的crontab设定都不一样 05/31 11:17
6F:推 roccqqck: 试试这个指令 05/31 11:20
7F:→ roccqqck: sudo crontab -l -u root 05/31 11:20
8F:→ roccqqck: sudo crontab -l -u $USERNAME 05/31 11:20
9F:→ starbygod: 可是我不是用crontab -e编辑的 我是产生一个.cron档 05/31 11:47
10F:→ starbygod: 放在/etc/cron.d路径底下 05/31 11:48
11F:推 holishing: 不知道耶, 但 7-8F 的方法看起来最简单了 05/31 22:12
12F:推 holishing: 其他能检查的就那个 script 权限有没有 +x 05/31 22:14
13F:→ holishing: 不然就是把指令改成 bash <script 路径> 05/31 22:15
14F:推 roccqqck: 好吧我没用过你的那种方法 06/01 10:49
15F:推 roccqqck: 可能照楼上所说加个/bin/bash 06/01 12:04
16F:→ starbygod: 过了过了 感谢两位大大要加/bin/bash 06/01 13:32