命令在控制台中正常运行,但Cronjob无法正常运行

时间:2020-06-24 15:21:32

标签: ubuntu cron

我有此命令可以在cronjob中运行

/ bin / mkdir / var / www / html / webfiles / subdir / mobile / archives / $(date +%Y%m%d)

它可以很好地创建当前日期文件夹。

但是当我将其设置为cron时,例如以下示例: 59 10 * * * / bin / mkdir / var / www / html / webfiles / subdir / mobile / archives / $(date +%Y%m%d)

这根本不起作用吗?

我已经尝试过重启所有东西,重启crond等。

从root用户运行。

谢谢

2 个答案:

答案 0 :(得分:1)

在crontab中,必须用反斜杠“ \”对“%”字符进行转义。

请参见手册页,man 5 crontab

“第六个”字段(该行的其余部分)指定要运行的命令。该行的整个命令部分,直至换行符或“%”字符,将由/ bin / sh或cronfile的SHELL变量中指定的shell执行。除非使用反斜杠(\)进行转义,否则命令中的“%”字符将被更改为换行符,并且第一个%之后的所有数据将作为标准输入发送到命令。

答案 1 :(得分:-1)

@rudimeier谢谢。

当我通过诸如Winscp之类的ftp客户端编辑crons并保存该crons时,我发现解决此问题的一件奇怪的事。

当我通过cli使用nano编辑器时,它就起作用了。

希望这也可能对其他人有所帮助。

谢谢