【问题标题】:How to execute a script using crontab如何使用 crontab 执行脚本
【发布时间】:2017-08-02 22:00:43
【问题描述】:

我正在尝试通过 crontab 文件执行位于 /logann/myFile 中的特定脚本。

我已经尝试了很多方法,但没有任何结果。

我在 crontab 文件中添加这一行来调用我的脚本

26 10 * * * root cd /logann && ./apagar_temp_tomcat

(我改测试的时间)

我的脚本是

#!/bin/sh

rm /tmp/tomcat7-tomcat7-tmp/*.tmp

rm /tmp/tomcat7-tomcat7-tmp/*.xml

我只想执行这个脚本。此脚本将删除文件夹 tomcat7-tomcat7-tmp 中的每个 .tmp/.xml 文件。

有什么想法吗?

谢谢你们!

【问题讨论】:

    标签: bash shell cron execute


    【解决方案1】:

    cron 作业将在自己的 shell 中运行。所以你不能指望在你的控制台上看到tedvs

    尝试在文件中写入一些东西,例如

    * * * * * echo tedvs > file_in_your_directory.txt
    

    【讨论】:

    • 嗯,我明白了。实际上,echo 只是一个测试。我真的很想执行那些命令来删除这些文件 rm /tmp/tomcat7-tomcat7-tmp/*.tmp rm /tmp/tomcat7-tomcat7-tmp/*.xml
    • 对不起,它在这里运行良好,问题是我正在使用 Echo 进行测试,正如你所说,cron 在其他 shell 中运行。这就是为什么我认为这是错误的。谢谢!
    【解决方案2】:

    只需在文件中创建一个函数,然后根据您的时间间隔在 cron 中调用该文件或函数。 我在 PHP 中做到了这一点

    shell_exec(\'(crontab -l ; echo "* * * * * curl www-data http://localhost/sp/delete.php") | crontab -\');

    【讨论】:

      猜你喜欢
      • 2016-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-16
      • 2020-03-16
      • 2013-04-19
      • 2020-05-30
      • 2017-09-07
      相关资源
      最近更新 更多