使用 MySQL/PHP 的 Cron 作业?

使用 MySQL/PHP 的 Cron 作业?

我有一台装有 Lightspeed(Web 服务器)、PHP5、Mysql、TCPDF 和 sendmail 的 Ubuntu 10.04 服务器,我需要为队列运行 cron 作业,如果任何作业已经在运行,那么它必须创建队列,如果没有,那么它将转到 tcpdf 文件夹 sendmail。

我从 serverfault 获得一个代码

`PIDFILE=/tmp/`basename $0`.pid

if [ -f $PIDFILE ]; then
  if ps -p `cat $PIDFILE` > /dev/null 2>&1; then
      echo "$0 already running!"
      exit
  fi
fi
echo $$ > $PIDFILE

trap 'rm -f "$PIDFILE" >/dev/null 2>&1' EXIT HUP KILL INT QUIT TERM`

但是我不明白如何运行该节目,能否帮助我,对不起我的英语。

答案1

您可以在 php 中完成所有操作,例如 my_cron.php 内容:

<?php
$pid = '/tmp/my_cron.pid';

if (file_exists($pid)) {
    echo "Already running.";
    exit;
} else {
    exec ("touch $pid"); # create the pid file
    # do what you are supose to do here
}

unlink($pid);
?>

然后在你的 cronjob 中有类似这样的内容:

23 0-23/2 * * * /usr/bin/php /path/to/my/php/file/my_cron.php

相关内容