我的crontab中有一个非常简单的脚本,我想每天运行。它位于/home
:
-rwxr-xr-x 1 root root 40 Apr 15 08:01 kill_slony_stop_sql.sh
它具有执行权限,这是内容:
#!/bin/bash
slon_kill;rcpostgresql stop
以下是每日运行的cron行:
56 12 * * * /home/kill_slony_stop_sql.sh
但由于某种原因它不起作用。当我在命令行中键入/home/kill_slony_stop_sql.sh
时,它运行良好,但它在crontab中不起作用。
有什么想法吗?
答案 0 :(得分:1)
很可能是PATH
问题。看看Why is my crontab not running并确保设置一个PATH,以便它可以调用你的slon_kill命令。
另外,为你的cron添加一些调试
56 12 * * * /home/kill_slony_stop_sql.sh &>/tmp/errorcron.log
还要查看日志; cron通过syslog记录其操作,这取决于您的设置,通常会转到/var/log/cron
或/var/log/syslog
。
答案 1 :(得分:0)
我在日常的cron工作中遇到了同样的问题,我使用的是@daily,但每天都会在00:00运行。
@daily /usr/local/bin/msa70_check.sh
是我添加的cron标签行,下面是我运行的脚本。
#!/bin/bash
# msa70 disk check
/sbin/mdadm --detail /dev/md0 /dev/md1|
/bin/mailx -s"Disk check on server123 please check" person@domain.com
我还必须编辑我的脚本并在mdadm和mailx前添加/ sbin /和/ bin以便运行cron作业