【问题标题】:Avoiding Overwriting Existing Cron Jobs避免覆盖现有的 Cron 作业
【发布时间】:2017-03-28 15:40:09
【问题描述】:

背景

我需要将cron job 添加到一个服务器上,该服务器上有一堆其他cron jobs。我以前从未这样做过,所以我想确保在不影响任何其他cron jobs 的情况下这样做。

我读过一个教程here

您可以用同样的方法添加更多的时间表。把你所有的不同 计划到单个 crontab 文件中。第一行应该是你的 MAILTO 行,后跟每个计划/命令在单独的行上。 当您稍后运行“crontab crontab.txt”时,crontab 将替换您的 现有计划与新 crontab.txt 中的计划。

听起来它将替换该文件中的任何cron jobs,但我想确保它不会覆盖所有cron jobs,并将新计划设置为安装的最新文件。

问题

所以要清楚。如果我在服务器上有现有的 cron 作业,我会创建一个新的 cron.txt 文件,其中包含新的 cron jobs。它会在新文件中安装cron jobs 并保持其他 cron 作业文件中现有的 cron 作业不变,以便它们继续像以前一样工作吗?

示例

每天上午 9:30 运行

NewCronJobs.txt

MAILTO=email@example.com
30 9 * * * /root/path/to/php/file/to/run/script.php >/dev/null

【问题讨论】:

    标签: cron cron-task


    【解决方案1】:

    您应该有自己的 crontab,因此您应该能够修改它而不会弄乱其他人的工作。试试这个,在你的终端类型中

    crontab -e
    

    如果您看到已列出 cron 作业,请不要更改它们。如果没有,那么你是从一张白纸开始的。无论您是否看到其他 cron 作业,您始终可以将您的任务添加到底部或当前的 crontab 文件中。如果您的 php 脚本没有错误,您将能够测试您的 cron 作业,而不会对服务器上的任何内容产生不利影响。

    【讨论】:

    • 我打算将文件放在服务器上,然后使用 crontab crontab.txt 运行它。你是说换一种方式?是的,服务器上肯定还有其他 cron 作业。这是我们拥有的 VPS,我只是不想通过添加我自己的 crontab 文件来破坏任何东西。抱歉,但要明确的是,如果我添加自己的 cron 作业文件并运行 crontab crontab.txt,它将安排我的新 cron 作业并且根本不会影响现有的作业?
    • 我不知道添加新的 crontab.txt 文件。每个用户都应该已经拥有自己的 cron 文件。这可以通过从终端运行“crontab -e”来编辑。从这里做所有的编辑,你会没事的(除非你的 cron 工作做一些愚蠢的事情,比如“rm -rf /”)。
    猜你喜欢
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 2014-12-04
    相关资源
    最近更新 更多