【问题标题】:Shell script runs php files over and over againShell脚本一遍又一遍地运行php文件
【发布时间】:2017-01-02 04:32:03
【问题描述】:

我有一个简单得可笑的 shell 脚本,只不过是运行一些 php 文件的几条指令......

#!/bin/bash
clear
cd /home/************** // Just for privacy here
php cron-cpt.php
php cron-lvt.php
php cron-plots.php
php cron-m.php
php cron-a.php

该脚本名为 metrics.sh,它是经过 chmod 处理的,位于我的本地二进制文件夹中。

如果我从命令行运行脚本,它会完美运行。

如果我将相同的脚本添加到 cron 选项卡以每天运行一次,它会一遍又一遍地运行。我认为 cron 与从命令行手动调用它一样吗?

我使用与登录 cmd 行时相同的用户在 cron 中调用,并以 root 和标准用户的身份尝试过,但结果相同。

Google 对此没有帮助。有什么建议吗?

【问题讨论】:

    标签: php bash shell cron


    【解决方案1】:

    将此添加到您的 cronTabs:

    0 1 * * * /home/metrics.sh
    

    将位置更改为您的 metrics.sh 的位置。

    【讨论】:

    • 您能否详细说明为什么移动 metrics.sh 文件会产生影响?我的 crontab 已经有一个与您显示的类似的条目。
    • 您可以保留正确的metrics.sh 位置,这并不重要。我的意思是更改 cronTabs 的代码位置。
    • 这是当前的 crontab 条目 ... * 1 * * * /home/********/metrics.sh (**** 只是为了隐私,它指向到有效的真实文件夹)。我的观点是,从命令行运行时它工作正常,从 cron 运行时脚本只是一遍又一遍地重复
    • 所以将其更改为:0 1 * * * /home/********/metrics.sh 这将在每 01:00 运行。在您的 cronTabs 命令中,您下达命令,在 01 小时的每一分钟,代码将运行。这意味着 01:00、01:01、01:02 等。
    • 恕我直言,我知道 crontab 是如何工作的,* 或开头的 0 应该没有区别。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-20
    • 2021-01-10
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多