【问题标题】:Cronjob to add datestamp to file not runningCronjob 为未运行的文件添加时间戳
【发布时间】:2021-02-11 18:17:55
【问题描述】:

大家好。

我有一个问题,谷歌搜索这个问题对我没有帮助,基本上我有以下要求。

  1. 运行第一个脚本的 cronjob,输出写入文件
  2. 创建的文件,带有日期戳
  3. 第二个脚本执行,将生成的文件作为附件邮寄

问题在于添加时间戳,如果我将 cron 设置为运行并创建一个具有通用文件名的文件,则 cronjob 可以正常运行。

我尝试了以下方法:

0 8-17/1 * * * python /usr/local/bin/script1.py >> /usr/local/bin/file_`date +\%Y-%m-%d`.txt 2>&1 && python /usr/local/bin/email_script.py

0 8-17/1 * * * python /usr/local/bin/acme_transcoding_check.py >> /usr/local/bin/file_$(date +"%Y-%m-%d").txt 2>&1 && python /usr/local/bin/email_script.py

服务器正在运行 Ubuntu 16.04

【问题讨论】:

  • 在日期中使用反引号 (`),例如 `date +\%Y-%m-%d`
  • 谢谢,道歉,我也试过这样:0 8-17/1 * * * python /usr/local/bin/script1.py >> /usr/local/bin/file_ date +\%Y-%m-%d.txt 2>&1
  • 啊,我明白了,你已经这样做了。 :-) 格式化示例。
  • 我认为您没有指定输出文件。对吗?
  • 感谢您的帮助,在转义所有 %'s 后,它现在看起来可以工作了!

标签: cron ubuntu-16.04


【解决方案1】:

您需要使用反斜杠转义百分号 (%),如 answer 中所述(不是我的)。

【讨论】:

  • 嗨 kometen,由于最近在其他地方发表的评论,与这里的问题/答案完全无关,我想确保您知道标记“最有问题的内容”(避免 s -word here...),而不是近距离投票。
猜你喜欢
  • 1970-01-01
  • 2018-09-19
  • 1970-01-01
  • 2019-01-25
  • 1970-01-01
  • 1970-01-01
  • 2018-01-20
  • 1970-01-01
  • 2017-07-07
相关资源
最近更新 更多