运行 crontab 中的一个脚本

running a script in 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 中不工作。

有什么想法吗?

我在日常 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 作业 运行

这很可能是 PATH 问题。查看 Why is my crontab not running 并确保设置 PATH 以便它可以调用您的 slon_kill 命令。

此外,向您的 cron 添加一些调试

56 12 * * * /home/kill_slony_stop_sql.sh &>/tmp/errorcron.log

还要查看日志; cron 通过系统日志记录其操作,系统日志(取决于您的设置)通常转到 /var/log/cron/var/log/syslog.