【问题标题】:Crontab to create a new filecrontab 创建新文件
【发布时间】:2013-02-11 19:57:04
【问题描述】:

我正在尝试创建一个简单的 crontab,它通过使用简单命令的输出填充它每分钟创建一个名为 log.txt 的文件。现在这是我放入 crontab 的内容:

* * * * * (/usr/bin/ls <pathToRandomDirectory) > log.txt

据我了解,5 个星号对应于“每分钟”。但是当我运行这个时,log.txt 文件没有被创建。我在这里缺少什么吗?

另外,如果我不想在创建工作时收到一封电子邮件,我发现我需要输入以下内容:

>/dev/null 2>&1

在我的 crontab 文件中的某处。这具体去哪儿了?在命令末尾还是单独一行?

【问题讨论】:

    标签: unix cron crontab


    【解决方案1】:

    您必须为 log.txt 设置绝对路径。否则,它将在 / 中创建。

    另外,&gt;/dev/null 2&gt;&amp;1 必须在句末。如果您希望消除 2(表示错误),只需写 2&gt;/dev/null

    那么,你最终的 cronjob 将是这样的:

    * * * * * /usr/bin/ls pathToRandomDirectory > /pathToRandomDirectory/log.txt 2>/dev/null
    

    【讨论】:

      【解决方案2】:

      该文件中究竟应该包含什么内容?这会每分钟创建一个包含文本“something”的新文件:

      * * * * * echo "something" > /path/to/your/file.txt
      

      我在使用 crontab 时遇到了一些问题,尤其是在我创建新的 crontab 配置时 - 我的问题是我必须在 crontab 末尾插入一个空行 - 有些系统需要它才能正常工作。所以如果你这样做了

      $ crontab -l
      

      输出应该是每行的 cron 作业列表,最后是空行。

      如果它适合您,请尝试。抱歉,但我不确定电子邮件,但我认为您不需要将这样的行放到 crontab 中,玩弄配置 - 默认情况下它不应该向您发送任何电子邮件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-15
        • 2019-01-18
        • 1970-01-01
        • 1970-01-01
        • 2010-12-08
        • 1970-01-01
        • 1970-01-01
        • 2011-01-30
        相关资源
        最近更新 更多