簡體   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