我有此命令可以在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用户运行。
谢谢
答案 0 :(得分:1)
在crontab中,必须用反斜杠“ \”对“%”字符进行转义。
请参见手册页,man 5 crontab
:
“第六个”字段(该行的其余部分)指定要运行的命令。该行的整个命令部分,直至换行符或“%”字符,将由/ bin / sh或cronfile的SHELL变量中指定的shell执行。除非使用反斜杠(\)进行转义,否则命令中的“%”字符将被更改为换行符,并且第一个%之后的所有数据将作为标准输入发送到命令。
答案 1 :(得分:-1)
@rudimeier谢谢。
当我通过诸如Winscp之类的ftp客户端编辑crons并保存该crons时,我发现解决此问题的一件奇怪的事。
当我通过cli使用nano编辑器时,它就起作用了。
希望这也可能对其他人有所帮助。
谢谢