Linux 環境で crontab コマンドを使用して、スケジュールされた定期的な実行タスクを設定します (PHP 実行コードを含む)

Linux 環境で crontab コマンドを使用して、スケジュールされた定期的な実行タスクを設定します (PHP 実行コードを含む)

この記事では、Linux 環境で crontab コマンドを使用して、タスクの定期的な実行をスケジュールするように設定します。ご参考までに、詳細は以下の通りです。

Linux ヘルプによると、crontab コマンドには次のパラメータがあります。

-u ユーザー名: タイマーを操作するユーザーを指定します
-e: タイマーを編集 (すべて)
-l: タイマーを表示
-r: タイマーを削除します (/var/spool/cron ディレクトリからユーザーの crontab ファイルを削除し、デフォルトで現在のユーザーを削除します)
-i: タイマーを削除します (削除前に確認を求めます)

使用シナリオ1:

毎日午前0時に、前日の全営業マンと各チームの業績、各チームの人数、タスク量、完了量などをカウントし、簡単に閲覧できるようにデータベースに挿入するなど、定期的な統計業務を実行します。

使用シナリオ 2:

いくつかの反復操作を手動で実行する代わりに、たとえば、ガールフレンドが大学院入試のスコアラインの発表を待っているときに、大学院入試ウェブサイトのニュースの見出しをリアルタイムで監視し、同時にSMS検証コードプラットフォームに接続するタイミングプログラムを作成しました。ニュースの見出しのタイトルが変わると、携帯電話にテキストメッセージが送信されます。

(以下では、シナリオ 2 の crontab コマンドを例として使用します)

実行される jianting.php コード:

<?php
  $log = "/var/www/html/log.txt"; //ログファイル(書き込み権限を設定することに注意してください)
  $url = 'http://yz.chsi.com.cn/'; //監視するURL $info = file_get_contents($url); //ホームページのHTMLを取得する
  preg_match('|<h4>(.*?)<\/h4>|i',$info,$m);//通常の一致見出しコンテンツ if($m[1] != '<a href="/sytj/tjyx/gosytj.action?entrytype=yzgr" rel="external nofollow" target="_blank">2018 National Master's Admissions Adjustment Intention Collection Service System</a>') { //タイトルが変更されました//ログに記録があるかどうかを判断します。空の場合は、記録してテキストメッセージまたは電子メール通知を送信します $str = file_get_contents($log);
    $str = トリム($str);
    $bom = パック('H*','EFBBBF');
    $str = preg_replace("/^$bom/", '', $str); //BOMを削除
    if($str == ""){
      $text = '変更をリッスンする';   
      file_put_contents($log、$text、FILE_APPEND);
      //SMS または電子メール操作を送信します...
    }
  }

Linux で which コマンドを使用して PHP インストール パスを表示します。

どのPHP

スケジュールされたタスクを設定するには、インターネットから取得した画像を使用します (crontab 形式の説明)。

crontab -e

//PHPインストールパスで実行されたPHPファイルを実行します(実行権限を設定することに注意してください)
例: 5 0 * * * /usr/bin/php /var/www/html/jianting.php //毎日午前5時に実行

10 秒ごとに実行されるコマンドを記述する例:

* * * * * /usr/bin/php /var/www/html/jianting.php
* * * * * スリープ 10; /usr/bin/php /var/www/html/jianting.php
* * * * * スリープ 20; /usr/bin/php /var/www/html/jianting.php
* * * * * スリープ 30; /usr/bin/php /var/www/html/jianting.php
* * * * * スリープ 40; /usr/bin/php /var/www/html/jianting.php
* * * * * スリープ 50; /usr/bin/php /var/www/html/jianting.php

次に、スケジュールされたタスクがあることを確認します。

crontab -l

crontabサービスを再起動する

サービスcrondの再起動

サーバーを変更したら、PHP ファイルを実行できないという問題が発生しました。解決策は次のとおりです。

5 0 * * * /usr/bin/curl http://www.xxx.com/jianting.php // curl コマンドを使用して PHP ファイルにアクセスします 5 0 * * * cd /var/www/html && /usr/bin/php /var/www/html/jianting.php

この記事が Linux サーバーの設定に役立つことを願っています。

以下もご興味があるかもしれません:
  • 特定のコマンドを実行する必要があるときにシェル スクリプトの実行をタイミングする Linux crontab のソリューション
  • Linux のスケジュールタスク Crontab コマンドの使用に関する詳細な説明と概要
  • Linux での crontab スケジュール実行コマンドの詳細な説明
  • Linux でコマンドとスクリプトを定期的に実行する (cron、crontab、anacron)
  • Linux でタスクをスケジュール実行するための at コマンドと crontab コマンドの詳細な説明
  • Linux Crontab の起動、実行、編集コマンド
  • Linux crontab コマンドの形式と詳細な例 (推奨)
  • Linux crontab コマンドの使用

<<:  Reactでのイベントバインディングの実装は3つの方法を指しています

>>:  mysql ローカルログインでポート番号を使用してログインできない問題の解決策

推薦する

Nginx のパラメータをオンにして Web パフォーマンスを 3 倍向上させる方法

1. 遭遇したいくつかの問題2008 年にパフォーマンス テストを行っていたとき、パフォーマンス テ...

ie8/ie9/ie10/ie11 chrome firefox を区別するための CSS コード

ウェブサイトの互換性のデバッグは本当に面倒です。今日のウェブサイト デザイナーは、以前よりもはるかに...

Docker クリーニングキラー/Docker オーバーレイ ファイルがディスク領域を大量に占有する

[インターネット上の移行ファイルをすべて見ると、信頼性が低く、症状のみを治療し、根本的な原因を治療し...

Mac に Windows サービスを備えた仮想マシンをインストールする方法

1. 仮想マシンをダウンロードする公式ダウンロードウェブサイト: https://www.vmwar...

MySQLインデックスの詳細な分析

序文インデックスの選択はオプティマイザ段階の作業であることはわかっていますが、オプティマイザは万能で...

Div はフラッシュを覆います。フラッシュ透過方式により、フラッシュ上に DIV レイヤーを配置できます。

2つのタイプがあります: (異なるブラウザ) 1. IEブラウザで利用可能コードをコピーコードは次の...

mysql8.0 Windows x64 zip パッケージのインストールと構成のチュートリアル

MySQL 8 Windows版 zipインストール手順(ダウンロードアドレス) 1. ZIPファイ...

Windows の MySQL net start mysql MySQL サービスの起動エラーが発生する システムエラーの解決

目次1- エラーの詳細2-シングルソリューション2.1-ディレクトリ C:\Windows\Syst...

jQueryはシャトルボックス機能を実現する

この記事では、シャトルボックス機能を実現するためのjQueryの具体的なコードを参考までに紹介します...

Dockerは元のタグのイメージの再タグ付けと削除を実装します

docker イメージ ID は一意であり、イメージを物理的に識別できます。repository: ...

Javascriptを使用して滑らかな曲線を生成する方法

目次序文ベジェ曲線の紹介二次ベジェ曲線3次ベジェ曲線ベジェ曲線計算機能フィッティングアルゴリズム付録...

WeChatアプレットのサイレントログインとカスタムログイン状態の維持の詳細な説明

目次1. 背景2. サイレントログインとは何ですか? 3. カスタムログイン状態を維持する方法4. ...

MySQL 5.7.15 のインストールと設定方法のグラフィック チュートリアル (Windows)

MySQL をインストールする必要があるため、インストール手順を以下のように記録します。 自分なり...

Vueでlessを使用する問題を解決する

1. less依存関係をインストールします: npm install less less-loade...