命令在控制台中工作,但 Cronjob 不起作用



我有这个命令在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等操作。

从根用户运行。

谢谢

在 crontab 中,"%"字符必须通过反斜杠 "\" 进行转义。

请参阅手册页,man 5 crontab

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

@rudimeier 谢谢。

我在解决这个问题时发现了一件奇怪的事情,当我通过 Winscp 等 ftp 客户端编辑 crons 并保存 crons 时,它不起作用。

当我通过 cli 使用纳米编辑器时,它可以工作。

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

谢谢

最新更新