小弟有一個腳本是對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不行