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 Shell
一分钟学会变量,别名,历史命令,一行上执行两个命令,引号的使用
变量简单说就是让某一个特定字符串代表不固定的内容,变量可分为两类:环境变量(全局变量)和普通变量(局部变量
57 0
|
Windows
简单理解crontab表达式
简单理解crontab表达式
281 0
|
Shell
用shell把所有文件名修改为小写
用shell把所有文件名修改为小写
125 0
|
Shell
SHELL下去掉变量中的回车换行
SHELL下去掉变量中的回车换行
356 0
|
Shell
shell脚本一行太长,使用\换行
shell脚本一行太长,使用\换行
282 0
Crontab 表达式详解
一个cron表达式有至少6个(也可能7个,6个比7个少元素秒)由空格分隔的时间元素。
131 0