繁体   English   中英

如何通过cron一次运行一个php脚本?

[英]How can I run a php script one at a time by cron?

我有每分钟通过cron调用的php脚本。 但是我不希望在第一个呼叫仍在加载或进行中时再次运行它吗?

我尝试使用MYSQL,但是有时我的问题是,脚本未完成加载,因此无法更新脚本已完成的MYSQL。 它会卡在加载中。

谢谢

在启动新的锁文件之前,您必须使用锁文件或检查它是否已在运行。

请参阅如何防止PHP脚本多次运行?

我在那里找到了解决方案并对其进行了一些修改:

#!/bin/bash

#change to the name of php-file
SCRIPT='my-php-script.php'

#get running processes containing php-file
PIDS=$(ps aux | grep "$SCRIPT" | grep -v grep)

if [ -z "$PIDS" ]; then
  echo "Starting $SCRIPT ..."
  #change path to script to its real path
  /usr/bin/env php "/path/to/script/$SCRIPT" >> "/var/log/$SCRIPT.log" &
else
  echo "$SCRIPT already running."
fi

您应该首先尝试在命令行上运行它,以查看它是否有效,然后将其添加到cron中。 根据系统的不同,它可能具有一些不同的路径,并且找不到正确运行所需的部件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM