OS solaris.
我正在尝试从正常运行时间命令记录系统信息。为此,我在 crontab 中安排了一个每小时运行一次的作业。正常运行时间附带时间的输出,但不是日期时间,因此我将日期命令与正常运行时间相结合。
我想拥有日期时间格式 yyyymmddHHMM,为此我用格式(date +"%Y%m%d%H%M"(格式化日期输出。
如果它不在 crontab 上,它可以完美运行。对于 crontab % 会导致错误,所以我需要使用 **** 转义 % 才能使其工作。所以这是我的 cron 作业线:
0 * * * * bash -c "date +'%Y%m%d%H%M' | tr 'n' ' ' && uptime" >> /tmp/uptime.log
所以我希望是这样的:
201703161309 13:09 起 52 天, 14:45, 2 用户, 加载 平均: 0.99, 1.41, 1.45
但我得到的是:
\2017\03\16\13\09 1:09pm 起 52 天, 14:45, 2 用户, 加载 平均: 0.99, 1.41, 1.45
那么如何让它正常工作。
提前谢谢。
当您使用 bash 时,还有另一种方法可以逃脱%
:$' 45'
。这看起来很奇怪,但它应该可以工作(我没有 solaris 可以测试它(
0 * * * * bash -c "date +$' 45'Y$' 45'm$' 45'd$' 45'H$' 45'M | tr 'n' ' ' && uptime" >> /tmp/uptime.log