crons不工作,但脚本是…任何想法是什么?

我在互联网上查过,这可能是一个普遍的问题,但我不知道如何解决它,他们说的所有的事情都不是我的情况…

cron正在运行,我检查,仍然,我没有日志文件(至less不是在var /日志),我使用的是Debian 6,我的.sh工程很好,我手动尝试,但在cron不工作.. 。

这里是我的cron代码(我使用crontab -e和后来我重新启动cron服务,即使我认为它不是必要的..)

14 12 * * * /root/mysqldump.sh > /root/MySQLdump.log 

当它只是一个testing,我做了几分钟之前…当我手动尝试的mysqldump.sh工程伟大,但不在cron …任何其他的想法?

顺便说一句,2>&1是做什么的?

提前致谢

编辑:

我启用cron日志,现在我检查了我的日志文件,这是这样的

 Feb 11 13:05:01 myserver /USR/SBIN/CRON[5652]: (root) CMD ("/home/dump/sqldump.sh") 

但就是这样,除此之外…

脚本作为特定用户工作,但在cron下失败的原因是因为cron运行时受限制的环境,特别是最小的PATH

您的脚本以及您的crontab条目需要使用完整path引用其他可执行文件/脚本,例如使用/usr/bin/mysqldump而不仅仅是mysqldump


编辑:根据你的意见,你应该改变你的脚本像下面这样确保你使用完整的pathmysqldumpgzipdate

 #!/bin/bash DATE=`/bin/date +"db-%d-%m-%Y"` /usr/bin/mysqldump -u user -ppassword mydb | /bin/gzip > /home/dump/$DATE.sql.gz 

我认为它的引用是扔掉的东西尝试以下

 14 12 * * * "/root/mysqldump.sh > /root/MySQLdump.log" 

2>&1将std错误redirect到std out

cron守护程序像大多数服务一样logging到系统日志,因此您可以在/var/log/syslogfind/var/log/syslog 。 作业运行的日志消息如下所示:

 Feb 11 11:09:01 mamma CRON[30555]: (mgorven) CMD (cat /proc/acpi/battery/BAT0/info > /tmp/BAT0-info)