crontab中反引号和$()无效的解决

简介:

关于crontab
Q1:为何可以手工执行,加入crontab后却不能正确执行
A:1.如果crontab执行失败,会发送email给你,请在mail中查找出错原因
2.crontab中的PATH变量设置与交互式shell环境中不同,要执行的命令必须有正确路径
3.在crontab中%字符被认为是换行,所以你的命令中有%时,在crontab中要加\转义
比如

30 * * * * date '+%D' >datefile  

是错误的

正确的应该是

30 * * * * date '+\%D' >datefile


mark一下。

从怀疑环境变量到怀疑人生,折腾很久没解决。最终百度到了。。。

        

06 07 * * * sh dutystatics.sh >/log/`/bin/date -d '1 days ago ' +\%Y\%m\%d`



本文转自 Wilson9527 51CTO博客,原文链接:http://blog.51cto.com/devops9527/1853041,如需转载请自行联系原作者

相关文章
|
Linux Perl
解决脚本实现:sed -i 替换变量,变量中含有特殊转义字符的问题
解决脚本实现:sed -i 替换变量,变量中含有特殊转义字符的问题
解决脚本实现:sed -i 替换变量,变量中含有特殊转义字符的问题
|
Windows
简单理解crontab表达式
简单理解crontab表达式
292 0
|
Linux Perl
LINUX使用sed修改文件,如果包含变量,需要使用双引号
LINUX使用sed修改文件,如果包含变量,需要使用双引号
226 0
|
Shell
用shell把所有文件名修改为小写
用shell把所有文件名修改为小写
131 0
|
Shell
SHELL下去掉变量中的回车换行
SHELL下去掉变量中的回车换行
368 0
Crontab 表达式详解
一个cron表达式有至少6个(也可能7个,6个比7个少元素秒)由空格分隔的时间元素。
135 0