定时任务 Crontab 中的特殊字符
最近在备份文件的时候遇到了问题,备份的命令如下:
复制代码
在使用上述命令进行定时同步文件进行备份的时候发现,Crontab 里的任务无论如何都不执行,但是将该命令放在脚本中是可以执行的。经过排查,已经排除了是环境变量不同导致的问题。
在继续查找资料的时候发现是 %
的问题。
%
(百分号)在 crontab 中是一个特殊字符,相当于回车,如果在命令(command)字段中包含 %,那么只有第一个百分号前的文本才会包含在实际命令中,之后的内容将作为标准输入赋值给前面的命令。如果命令行中需要 %,必须得在 %前面加一个反斜线""来转义,即“%”, 如
在 Linux 系统中执行 man 5 crontab
就可以找到如下描述。
复制代码
翻译过来就是
复制代码
版权声明: 本文为 InfoQ 作者【耳东@Erdong】的原创文章。
原文链接:【http://xie.infoq.cn/article/c18e8fc2800830343b059da21】。未经作者许可,禁止转载。
评论