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 ローカルログインでポート番号を使用してログインできない問題の解決策

推薦する

通知メッセージカルーセルを実装するための CSS3 トランジション

Vueバージョンをファイルにコピーして使用します <テンプレート> <!-- カル...

IE6のmin-widthとmin-heightと互換性を持たせる簡単な方法

ウェブサイトがワイドスクリーンの場合、ブラウザ ウィンドウを左右にドラッグすると、ウェブサイトの幅が...

SQL と MySQL のステートメント実行順序の分析

今日、問題が発生しました: MySQL の insert into、update、delete ステ...

PSを使用して2分でxhtml+cssウェブサイトのホームページを作成します

xhtml+css のウェブサイト再構築、ウェブ標準などについては、記事が多すぎるので繰り返しません...

MySQL全文インデックスを使用して検索エンジンのサンプルコードの簡易版を実現する

序文全文インデックスを使用できるのは Innodb と MyISAM ストレージ エンジンのみです ...

HTML での非同期ファイルアップロードの例

コードをコピーコードは次のとおりです。 <form action="/hehe&qu...

Mysql InnoDBとMyISAMの違いの分析

MySQL は、myisam、innodb、memory、archive、example など、多く...

MySQL インデックスの最適化: ページング探索の詳細な紹介

目次MySQL インデックス最適化ページングの調査ケース1ケース2 MySQL インデックス最適化ペ...

SQL 文における複合主キーと結合主キーに関する予備的研究

1. 複合主キーいわゆる複合主キーとは、テーブルの主キーが複数のフィールドで構成され、ビジネス上の意...

Nodejs エラー処理プロセス記録

この記事では、接続エラー ECONNREFUSED を例に、Node.js がエラーを処理するプロセ...

ネイティブJSで様々なモーションの複合モーションを実現

この記事では、ネイティブ JS で実装された複合モーションを紹介します。複合モーションとは、異なる属...

CSSポジショニングによる階層関係の問題の詳細な説明

絶対、相対、固定位置の位置決めabsolue: 絶対配置。上、下、左、右を使用して、配置先の親要素に...

W3Cチュートリアル(1):W3Cを理解する

1994 年に設立された組織である W3C は、共通プロトコルの開発を促進し、それらの相互運用性を確...

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

ウィンドウ環境にmysql5.7.21をインストールします。詳細は次のとおりです。 1. MySQL...

LinuxでIPアドレスを手動で設定するための詳細な手順

目次1.まずネットワークカードの設定ディレクトリに入る2. ifcfg-ens33ネットワークカード...