WebサーバーでPHPスクリプトを無期限に実行できるようにする

WebサーバーでPHPスクリプトを無期限に実行できるようにする

解決すべき大きな問題があります。基本的に私はそれの経験がほとんどなく、最近Webサーバーで実行するためにLinuxかなりの数のコマンドを使用する必要があるプロジェクトに取り組んでいます。Linuxphp scripts

デフォルトでは2つのスクリプトがあります

  1. get_tweets.php
  2. 構文解析_tweets.php

今後3〜4週間Webサーバーで継続的に実行するには、これらの機能が必要です。次のコマンドを使って実行したところ、一日ほど続くようでしたが、朝に確認してみると動作が止まったようです!

nohup php get_tweets.php > /dev/null &それから nohup php parse_tweets.php > /dev/null &

&を使用すると、スクリプトを実行し続けることができ、backgroundログアウト時にスクリプトが実行されることがわかりますが、ssh前述したように、スクリプトは一日中うまく実行されているようですが、朝チェックインすると停止します。

私が持っている問題は、中断することなく実行し続ける方法です。script実行中であることを確認し、そうでない場合は、再起動するか、5時間ごとまたはそれほど作成する簡単な方法がありますか?

これは大きな問題であり、解決策がわからないので、助けてくれて本当にありがとう。

ベストアンサー1

周りに無限ループを置きます。

nohup sh -c 'while true; do php get_tweets.php; done' >/dev/null &
nohup sh -c 'while true; do php parse_tweets.php; done' >/dev/null &

スクリプトが停止した理由を確認するために、すべての出力を調べることができるように、出力を実際のファイルにリダイレクトすると便利です(上書きするのではなく>>を使用して追加)。また、nohup.outで手がかりを確認してください。

おすすめ記事