我系统中的每个cron作业都运行两次。一次通过apache,一次通过root

我系统中的每个cron作业都运行两次。一次通过apache,一次通过root,apache,cron,Apache,Cron,我系统中的每个cron作业都运行两次。一次是apache,一次是root。如何通过root停止cron的重复执行 cron用户“gns”执行一次。 另一个cron用户“root”再次执行相同的cron作业。 两个cron作业的进程ID不同 我的服务器是CentOS 5.6(最终版) 我的平行板是 面板版本11.0.9更新#60 我不知道解决方案,但我可以建议一个解决方案,直到你找到一个解决方案 如果您的cron作业是bash脚本您可以在顶部添加小代码,以检查用户是否决定退出或继续:在If语句中,

我系统中的每个cron作业都运行两次。一次是apache,一次是root。如何通过root停止cron的重复执行

cron用户“gns”执行一次。 另一个cron用户“root”再次执行相同的cron作业。 两个cron作业的进程ID不同

我的服务器是CentOS 5.6(最终版) 我的平行板是 面板版本11.0.9更新#60

我不知道解决方案,但我可以建议一个解决方案,直到你找到一个解决方案

如果您的cron作业是bash脚本您可以在顶部添加小代码,以检查用户是否决定退出或继续:

If
语句中,将
gns
更改为您需要的用户:

    if [ "$(whoami)" != "gns" ]; then
        echo "Wrong user . Exiting ..."
        exit 1  
    fi

    echo "Correct user . Continuing ..."

    # Put the actual code below
如果您的cron作业是PHP脚本您可以附加一个参数来评估用户:

    0 0 * * * php /path/to/php/script.php --$(whoami)
然后在PHP脚本中,让用户从参数中选择退出还是继续:

if
语句中,将
gns
更改为您要求它前面加
--
的用户:

    $user = isset( $_SERVER['argv'][1] ) ? $_SERVER['argv'][1] : '';

    if( $user != '--gns' )
    {
        echo "Wrong user . Exiting ...";
        exit;
    }

    echo "Correct user . Continuing ...";

    //  Put the actual code below

同意这种方法,但我认为仍然有必要找出问题的根源。