百分号 % 在 crontab 中不起作用

Posted

技术标签:

【中文标题】百分号 % 在 crontab 中不起作用【英文标题】:Percent sign % not working in crontab 【发布时间】:2015-01-23 06:13:00 【问题描述】:

curl 有一个 cron 问题:

curl -w "%time_total\n" -o /dev/null -s http://myurl.com >> ~/log

效果很好,并在日志文件中添加一行总时间。

但同一行与 cron 没有任何作用。

这不是路径问题,因为curl http://myurl.com >> ~/log 有效。

【问题讨论】:

你试过转义%吗? curl -w "\%time_total\n" ...` Cron error with using backquotes的可能重复 【参考方案1】:

%crontab 的特殊字符。来自man 5 crontab

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

所以你需要转义% 字符:

curl -w "%time_total\n" -o /dev/null -s http://myurl.com >> ~/log

curl -w "\%time_total\n" -o /dev/null -s http://myurl.com >> ~/log
         ^

【讨论】:

以上是关于百分号 % 在 crontab 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

mysqldump 在 crontab 中不起作用

装入crontab的命令在macOS中不起作用

边距顶部/底部百分比在 Firefox 中不起作用 [重复]

Bash + Expect脚本在cron RHEL 7中不起作用

具有 kerberos 安全性的 Sqoop 在 cron 中不起作用,抛出 GSSException

mailto crontab 不起作用