昨天在做数据库备份的时候,要用Linux下的计划任务,写了脚本,手动运行了下脚本,没什么问题。编辑完好计划任务,却运行失败了。
一开始是怀疑是权限的问题,用sudo crontab -e试了一下,也是失败。思考下,在当前用户下,是没理由用sudoer的。想想应该是脚本的问题。
系统默认是把cron的日志关闭的,可以把日志打开。然后在网上找到了这篇日志:http://blog.itpub.net/post/29123/501236
我也犯了同样的错误:
脚本开头加上
#!/bin/bash
问题解决了。
然后优化一下日志输出信息:
每条 JOB 执行完毕之后,系统会自动将输出发送邮件给当前系统用户。日积月累,非常的多,甚至会撑爆整个系统。
所以每条 JOB 命令后面进行重定向处理是非常必要的: >/dev/null 2>&1 。前提是对 Job 中的命令需要正常输出已经作了一定的处理, 比如追加到某个特定日志文件。