cron ジョブ 特定の時間に実行されるようにスケジュールされた、自動化されたバックグラウンド タスクです。いくつかの例には、更新、バックアップの確認、またはリマインダー通知の送信が含まれます。 cron ジョブは、サーバーまたは Web サイトの管理者とすべてのユーザーのセキュリティ、パフォーマンス、および機能を支援する手動操作を削減するタスクを自動化するため、重要です。
cPanel の Cron Job を使用できます Unix コマンドを実行したり、PHP、Perl、または Python スクリプトの実行を自動化したりする機能。 cron ジョブを作成するには、まず [Cron ジョブ] の下で cPanel にログインします。 」を選択し、「標準」のいずれかを選択します 」または「高度な 」 Cron デーモンがジョブの結果を送信するために使用する電子メール アドレスを指定することもできます。
cPanel で cron ジョブを設定して手動で実行する方法については、以下の手順に従ってください。
- cPanel で cron ジョブ ページにアクセスする方法
- 通知とレポート用の電子メールの設定
- Cron ジョブの設定方法
- cPanel で Cron ジョブを設定する
- コマンド ラインで cron ジョブを設定する方法
- 実行するコマンドの指定
- ユーザー エージェント文字列の使用
- Cron ジョブを手動で実行する
- cron ジョブのトラブルシューティング
ウェブサイトの迅速なニーズに合わせて調整された経済的なソリューションのための InMotion の共有サーバー ホスティング プランをチェックしてください!
cPanel で Cron ジョブ ページにアクセスする方法
<オール>Cron ジョブ ページに移動したら、 cron ジョブを追加したり、cron ジョブ レポートと通知用の電子メールを追加したり、リストされているページの下部で既存の cron ジョブを管理したりできます。
通知とレポートの電子メールの設定
cron ジョブの実行と出力に関する電子メール通知を受け取るには、電子メール アドレスを追加する必要があります。 cron メール cPanel のデフォルトはアカウント ユーザーですが、cron ジョブ ページのこのセクションで別のメール アドレスを指定できます。
場合によっては、できないこともあります cron ジョブの出力結果ごとに電子メールを生成する必要があります。たとえば、1 日に 20 回実行される cron ジョブを実行しているとします。 cron が実行されるたびに電子メールを送信するのは面倒で、サーバーに不要な負荷がかかる可能性があります。
cron ジョブが出力を持たないようにする場合は、cron ジョブ コマンドに以下を追加する必要があります:
mycommand >/dev/null 2>&1
「mycommand」を cron ジョブ コマンドに置き換えます。
新しい cron ジョブを設定する方法
cron ジョブの作成は、コマンド ラインまたは cPanel インターフェイスから実行できます。以下に両方の方法を示します。
cPanel で Cron ジョブを設定する方法
cPanel での cron ジョブの設定は、すべての cron ジョブの 2 つの主要な部分であるスケジューリングとコマンドのフィールドを提供することで簡素化されます。
cron ジョブのスケジューリング セクションには、一般的に使用される設定のドロップダウンも用意されています。
cron ジョブの作成で最も複雑な部分は、コマンドまたはスクリプトの追加です。 cron ジョブを適切に設定する方法がわからない場合、Web サイトまたはサーバーで問題を簡単に引き起こす可能性があります。第三者の指示に従っている場合は、十分に注意して指示に従ってください。安全のために、cron ジョブを追加して実行する前に、必ずサイトのバックアップを作成してください。
コマンドの使用方法やスクリプトの作成方法に慣れていない場合は、経験豊富なプログラマーまたは Web サイト管理者と話したり協力したりして、cron ジョブを設定することをお勧めします。
Cron ジョブ ページを下にスクロールすると、[新しい Cron ジョブを追加] オプションが表示されます。 .これは、cron ジョブを設定するために cPanel によって提供されるインターフェイスのスクリーンショットです。
スクリプトが保存されると、ページのさらに下の表に一覧表示されます。
コマンド ラインで Cron ジョブを設定する方法
まず、Crontab をセットアップする必要があります。これは、cron ジョブがいつ実行されるかを決定するセクションです。順序は次のとおりです:
[minute][hour][day][month][weekday][command]
これは、cPanel に cron ジョブを追加する例です。 crontab は、コマンドまたはスクリプトに適用される日時であることに注意してください。
これは、cPanel cron ページのエントリがテキスト ファイルの 1 行でどのように見えるかです:
41 04***/my/script -v
このコードは、スクリプト (「/my/script -v」) が実行されることを意味します:
- すべての曜日 (平日を含む)
- 1 年のすべての月
- 午前 4 時 41 分
平日は週末を含む毎日です。 「平日」とは文字通り、月曜日から日曜日までのすべての日を意味します。
- 共通設定 - このドロップダウン メニューには、一般的に使用される時間間隔が含まれています。 1 つを選択すると、システムはすべての Minute を構成します。 、時間 、日 、月 、平日
- 分 — cron ジョブが実行される間隔の分数、または cron ジョブを実行する各時間の分。
- 時間 — cron ジョブを実行する時間間隔、または cron ジョブを実行したい毎日の時間。
- 日 — cron ジョブを実行する間隔の日数、または cron ジョブを実行する日。
- 月 — cron ジョブを実行する間隔の月数、または cron ジョブを実行する月。
- 平日 — cron ジョブを実行する曜日。
時刻を設定する場合、cron を正時または正午ではなく奇数分に実行するように設定することもお勧めします。上記の例は 4:41 に実行されます。
奇数分を使用することをお勧めするのは、多くの cron ジョブが常に共通の時間に実行されるように設定されているためです。これは、サーバーが通常の時間に多くの cron ジョブを処理しようとするため、パフォーマンスが突然低下する可能性があることを意味します。奇数時間に開始するように cron ジョブを設定すると、サーバーのパフォーマンスが向上します。
ただし、専用サーバーを使用していて、実行中の cron ジョブがわかっている場合は、すべてのシステム リソースがサイトまたはアプリケーション専用になるため、これらの共通の時間を使用しても問題ありません。
実行するコマンドの指定
cron ジョブにコマンドを使用する場合、2 つの部分があります:
[program to execute (perl/pyth/php)][switches][script]
実行するプログラムは、実行しているスクリプトのタイプを指定し、次のいずれかになります:
- php
- パイソン
スクリプトが保存されている場所を知る必要があります。サーバー上に配置されているため、直接パスで呼び出されるため、 /home/userna5/public_html/path/to/scrip のようになります。 t、「userna5」 」がユーザー名です。
Perl/CGI スクリプトは、755 のパーミッションで cgi-bin にある必要があります。 詳細については、ファイルのアクセス許可に関する記事をお読みください。 PHP、Python、または Perl/CGI スクリプトを実行する cron ジョブ スクリプトの例を次に示します。
- PHP スクリプトを実行するには: php -q /home/usern5/public_html/scripts/testrun.php
- Python スクリプトの場合: python /home/usern5/public_html/path/to/script
- Perl/CGI スクリプトの場合: /home/usern5/public_html/cgi-bin/yourscript.pl
cron ジョブ スクリプトを作成するときは、任意のタイプのテキスト エディタを使用できます。上記のように、(適切な権限で) 保存した場所を確認してください。
ユーザー エージェント文字列の使用
ユーザー エージェントの一般的な定義 World Wide Web Consortium (W3.org) から:
ユーザー エージェントとは、ウェブ コンテンツを取得してエンド ユーザーに表示するソフトウェア、またはウェブ テクノロジーを使用して実装されるソフトウェアです。 .ユーザー エージェントには、Web ブラウザー、メディア プレーヤー、および Web コンテンツの取得、レンダリング、および対話を支援するプラグインが含まれます。
ユーザー エージェント文字列の使用はオプションと見なされますが、この記事では、ユーザー エージェント文字列の使用を検討したい開発者向けに説明します。
wget コマンドは、セキュリティ上の目的ですべての共有サーバーで無効になっています。 wget 経由で実行されるほとんどのスクリプト オオヤマネコで使用できます またはカール 指図。最新の PHP アップデートで適用された新しい mod_security ルールは、ユーザー エージェントが設定されていない場合、lynx と curl が機能しないようにします。ユーザー エージェントを設定するには、次のコマンドを使用できます:
- curl –user-agent YOUR_STRING (URL)
- lynx -dump -useragent=YOUR_STRING (URL)
完全な cron ジョブ コマンドは次のようになります:
/usr/bin/curl --user-agent cPanel-Cron https://example.com/cron.php
Cron ジョブを手動で実行する
場合によっては、予定外の手動ベースで cron ジョブを実行する必要があるかもしれません。これは多くの場合、スクリプトのトラブルシューティングやテストのために行われますが、場合によっては、機能のためにスクリプトをただちに実行する必要がある場合もあります。たとえば、キャッシュをクリアするスクリプトがあるかもしれませんが、スケジュールされた時間を待つのではなく、すぐに実行したいとします。
注意:cron ジョブを手動で実行する場合は注意してください。やみくもに実行する前に、スクリプトが何をするかを理解してください。スクリプトは、サイトのバックアップからキャッシュのクリアまでさまざまです。視聴者が見るもの、ウェブサイトの操作、サーバーのパフォーマンスに影響を与える可能性があります。
cron ジョブを手動で実行すると、ただちに 端末でコマンドラインを実行するか、Web サイトからアクセスできるスクリプトを実行しています。
cron ジョブは、スケジュールに基づいて実行されます。手動で実行すると、すぐに実行されるため、時間の制約がなくなります。
PHP cron ジョブを手動で実行する例:
そのスクリプトがどこにあるかを知る必要があることに注意してください。実行する URL があれば、PHP スクリプトをブラウザーから直接実行することもできます。
たとえば、任意のブラウザーを開いて、次のような URL を使用できます。
https://example.com/scripts/mydailyscript.php
スクリプトに含まれていない Linux コマンドを実行すると、端末で直接実行されます。適切なアクセス権を持つ端末からサイトにアクセスする必要があります。それ以外の場合、スクリプトを手動で実行することは、上記の PHP スクリプトの場合と同じです。
Cron ジョブのトラブルシューティング
通常、cron ジョブの実行時に受け取った通知または出力に基づいて、cron ジョブが実行されたかどうかを判断できます。 cron ジョブが実行されたことを確認するには、ログを確認します。詳細については、Cron ジョブが実行されたかどうかを確認する方法 (Crontab ログ) を参照してください。
おめでとう! cron ジョブを設定して cPanel で実行する方法がわかったので、自分のスケジュールで制御したい反復タスクを追加できます。
あなたのビジネスを次のレベルに引き上げましょう! InMotion の共有ホスティング ソリューションを使用してオンラインで顧客に会います。