在crontab中运行脚本

时间:2015-04-15 12:51:35

标签: linux shell crontab

我的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中不起作用。

有什么想法吗?

2 个答案:

答案 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作业