小弟有一个脚本是对ELK的index进行删除的动作,单独执行脚本是可以成功运作的。
但是如果透过crontab执行却无法生效。
透过tail -f /var/log/syslog | grep CRON 查看log如下:
Dec 25 16:30:01 hostname CRON[19982]: (root) CMD (/etc/elasticsearch/delete_ES
_test.sh)
没有报任何error,但也执行完也没有效果。
一开始以为是MTA问题,但加上mailto=""也是不行。
有方法可以看为什么执行为没有效果吗??
谢谢
作者:
CMJ0121 (请多指教!!)
2020-12-25 16:50:00要不要改用 systemd.timer
改成跑 bash -x /path/xxx.sh > /path/logfile 2>&1看 logfile 本身相关执行到哪个地方与是否有其他讯息
指定user或environment variable要注意?
crontab跑什么没讲,如果是跑script没列其内容
作者: roccqqck (ccqq) 2020-12-25 19:54:00
你执行的shell没放绝对路径
你那个 .sh 档的权限有设对吗?然后 shell script 里面可以加 set -x 尝试让输出讯息多一点RHEL/CentOS 系列有开 selinux 的话暂时设定成 permissive 观察一下行不行,如果可以观察一下相关log还有什么可以猜的就交给楼下们补充了, 推 timer +1
作者: relaughter (好好笑) 2020-12-27 02:59:00
timer + 1
作者:
Adama (So Say We All.)
2020-12-28 13:46:00是说systemd管的东西也愈来愈包山包海了 bootloader, apcidns resolver, time sync 以后会不会核心以外业务全包了还有能取代NetworkManager的networkd
作者: g3120c (阿豆) 2020-12-30 10:27:00
有遇过环境变量SHELL不同 造成手下可以 crontab不行