我有一个CentOS 6机器我想运行一些cronjobs和工作失败抱怨行结束回车(^ M)。 示例/var/log/cron条目:
CROND[20344]: (root) CMD (/usr/local/bin/php /usr/local/bin/somescript.php >/dev/null 2>&1^M) CROND[20213]: (root) CMD (/usr/local/bin/php /usr/local/bin/somescript.php^M)
所有这些在CentOS 5.x上运行良好,看起来像是一个CentOS 6的东西。 有什么build议么?
使用使用正确行组织的编辑器。 快速修复是
export EDITOR=vi crontab -e :1,$s/^V^M//g :wq
其中^V^M是Crtl + V Crtl + m
你怎么编辑crontab文件? 是否使用任何Windows系统,记事本等复制?
这些不是UNIX linebreaks。 ^ M是一个硬回车(有时在使用转义序列时被称为\ r).Windows行结束符是\ r \ n(回车符,换行符),而UNIX行结束符只是\ n。
如果您在任何时候使用ASCII模式FTP或Windows文本编辑器来获取新的CentOS系统上的文件内容,那很可能是问题所在。
安装dos2unix并将其转换为Unix行结尾:
# dos2unix /var/spool/cron/root