最近遇到好几次这个问题,总是忘记怎么搞定,这次把它记下来,增强印象。
从网上搜索来看crontab不执行基本上就3个原因:
1、脚本本身有误,或脚本没有执行权限。 这个可以在挂到crontab之前先手工执行测试一下。
2、crontab命令编辑有误。这个只要参照标准命令核查一下也能解决。
3、环境变量配置问题。这个就是我遇到问题,后来想到一个理论上百试不爽的办法:首先脚本开始就把环境变量的配置文件贴出来,然后cd到脚本所在的目录,目前来看此方法有效。
给自己留个例子,免得下次看不懂了:
这是挂到crontab上面脚本的开始部分
#!/bin/bash
. ~/.bash_profile
. $AUDIT_BASE/shell/base_env.sh
cd $AUDIT_BASE/shell/filename_indb