目次
/etc/cron.deny" > および /etc/cron.deny
コマンドを使用します。このサービスはブート時に開始することをお勧めします。 " >/sbin/service crond stop コマンドを使用します。このサービスはブート時に開始することをお勧めします。
ホームページ php教程 php手册 LinuxでPHPスクリプトを定期的に実行する(crontabの定期的な使い方の詳細説明)

LinuxでPHPスクリプトを定期的に実行する(crontabの定期的な使い方の詳細説明)

Jul 09, 2016 am 09:10 AM
crontab linux php コード オープンソース プログラミング プログラミング言語 脚本 ソフトウェア開発

crontabの定期的な使い方を詳しく解説
使用方法:
crontab [ -u ユーザー ] ファイル crontab [ -u ユーザー ] { -l | -e | 説明:
Crontab は、ユーザーが一定の時間または一定の間隔でプログラムを実行できるようにするために使用されます。つまり、ユーザーのスケジュールに似ています。 -u ユーザーは、指定されたユーザーのスケジュールを設定することを指します。前提として、他のユーザーのスケジュールを指定するには、そのユーザーの権限 (root など) が必要です。 -u user を使用しない場合は、独自のスケジュールを設定することを意味します。
パラメータ:

-e: スケジュールを設定するためにテキスト エディタを実行します。デフォルトのテキスト エディタは VI です。別のテキスト エディタを使用したい場合は、最初に VISUAL 環境変数を設定して、使用するテキスト エディタを指定してください (例: setenv VISUAL joe)。 -r: 現在のスケジュールを削除します
-l: 現在のスケジュールをリストします

スケジュールの形式は次のとおりです:
f1 f2 f3 f4 f5 プログラム

ここで、f1 は分、f2 は時、f3 は日、f4 は月、f5 は曜日を表します。 Program は実行されるプログラムを表します。
f1 が * の場合、プログラムは 1 分ごとに実行されることを意味し、f2 が * の場合、プログラムは 1 時間ごとに実行されることを意味し、以下同様になります
f1がa-bの場合、a分からb分まで実行されることを意味します。 f2がa-bの場合、a時間からb時間まで実行されることを意味します。 、など
f1 が */n の場合、n 分ごとに実行されることを意味します。 f2 が */n の場合、n 時間ごとに実行されることを意味します
f1 が a、b、c、... の場合、a、b、c、... 分を実行することを意味します。 f2 が a、b、c、... の場合、a 分を実行することを意味します。 、b、c... 実行には数時間かかり、残りも同様です
ユーザーは、最初にすべての設定をファイルに保存し、crontab ファイルを使用してスケジュールを設定することもできます。
例:
毎月毎日、毎時の 0 分に /bin/ls を実行します:
0 7 * * * /bin/ls

12 か月間、/usr/bin/backup は毎日午前 6 時から午前 12 時まで 20 分ごとに実行されます:
0 6-12/3 * 12 * /usr/bin/backup


admin
@domain.name
にレターを送信します: 月曜日から金曜日の毎日午後 5 時 0 17 * * 1-5 mail -s "hi"
admin@domain.name
毎月毎日午前0時20分、2時20分、4時20分にエコー「はは」を実行します。 20 0-23/2 * * * 「ははは」という反響
注:
指定した時間にプログラムが実行されると、システムはプログラムの実行内容を示すレターを送信します。そのようなレターを受け取りたくない場合は、各行の後にスペース / を追加してください。 null 2>&1 で十分です。



crontab には基本的にルーチン コマンドを作成する 2 つの方法があります
:

1 つはすべてのユーザー向けで、crontab -e コマンドを使用して作業スケジュールを発行できます。
もう 1 つはシステム管理者用で、/etc/crontab ファイルを直接変更して定期的に実行できます。
毎日正午に自分に手紙を送る必要がある場合は、
#crontab-e
viの編集画面に入り、日常的なコマンドを編集し、次の文を入力します
0 12 * * * メール xxx@163.com
上記の 5 つの数字は次のことを意味します:
ポイント (0-59)
営業時間 (0-23)
日付 (1-31)
月 (1-12)
週 (0-6)

また、【*】の場合は全ての数字が該当することを意味します。

つまり、上記のステートメントは、月、日、曜日に関係なく、コマンド mail xxx@163.com
例 1:
友達にメールを送信します: 5 月 1 日 23:59 に送信されます。
# crontab -e 59 23 1 5 * mail xxx@163.com
例 2:
関連ファイルを 6 分ごとにチェックするには、次を使用します:
# crontab -e */6 * * * * /home/cheney/test.sh

日常的なコマンドを削除します。
# crontab -r で削除します

クロン
Linux では、指定した期間中、指定した日付、または平均システム負荷が指定した量を下回ったときにタスクを自動的に実行するように構成できます。 Red Hat Enterprise Linux は、システムを常に最新の状態に維持できるように、重要なシステム タスクを実行するように事前設定されています。たとえば、locate コマンドで使用される slocate データベースは毎日更新されます。システム管理者は、自動タスクを使用して、スケジュールされたバックアップの実行、システムの監視、カスタム スクリプトの実行などを行うことができます。

Red Hat Enterprise Linux には、タスクを自動化するためのツールがいくつか付属しています: cronatbatch

cron は、時刻、日付、月、週の組み合わせに基づいて定期的なタスクの実行をスケジュールするために使用できるデーモン プロセスです。

cron はシステムが継続的に実行されていることを前提としています。タスクがスケジュールされたときにシステムが実行されていない場合、タスクは実行されません。

cron サービスを使用するには、vixie-cron RPM パッケージがインストールされており、crond サービスが実行されている必要があります。パッケージがインストールされているかどうかを確認するには、rpm -q vixie-cron コマンドを使用します。サービスが実行中かどうかを確認するには、/sbin/service crond status コマンドを使用します。

cron タスクを構成する

cron のメイン設定ファイルは /etc/crontab で、これには次の行が含まれます:

リーリー

最初の 4 行は、cron タスクの実行環境を構成するために使用される変数です。 SHELL 変数の値は、どのシェル環境 (この場合は bash シェル) を使用するかをシステムに伝えます。PATH 変数は、コマンドの実行に使用されるパスを定義します。 cron ジョブの出力は、MAILTO 変数で定義されたユーザー名にメールで送信されます。 MAILTO 変数が空の文字列 (MAILTO="") として定義されている場合、電子メールは送信されません。 HOME 変数は、コマンドまたはスクリプトの実行時に使用されるホーム ディレクトリを設定するために使用できます。

/etc/crontab ファイル内の各行はタスクを表し、その形式は次のとおりです:

リーリー

 

  • minute — 分钟,从 0 到 59 之间的任何整数

  • hour — 小时,从 0 到 23 之间的任何整数

  • day — 日期,从 1 到 31 之间的任何整数(如果指定了月份,必须是该月份的有效日期)

  • month — 月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb 等等)

  • dayofweek — 星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如 sun、mon 等等)

  • command — 要执行的命令(命令可以是 ls /proc >> /tmp/proc 之类的命令,也可以是执行你自行编写的脚本的命令。)

在以上任何值中,星号(*)可以用来代表所有有效的值。譬如,月份值中的星号意味着在满足其它制约条件后每月都执行该命令。

整数间的短线(-)指定一个整数范围。譬如,1-4 意味着整数 1、2、3、4。

用逗号(,)隔开的一系列值指定一个列表。譬如,3, 4, 6, 8 标明这四个指定的整数。

正斜线(/)可以用来指定间隔频率。在范围后加上 /integer> 意味着在范围内可以跳过 integer。譬如,0-59/2 可以用来在分钟字段定义每两分钟。间隔频率值还可以和星号一起使用。例如,*/3 的值可以用在月份字段中表示每三个月运行一次任务。

开头为井号(#)的行是注释,不会被处理。

如你在 /etc/crontab 文件中所见,它使用 run-parts 脚本来执行 /etc/cron.hourly/etc/cron.daily/etc/cron.weekly/etc/cron.monthly 目录中的脚本,这些脚本被相应地每小时、每日、每周、或每月执行。这些目录中的文件应该是 shell 脚本。

如果某 cron 任务需要根据调度来执行,而不是每小时、每日、每周、或每月地执行,它可以被添加到 /etc/cron.d 目录中。该目录中的所有文件使用和 /etc/crontab 中一样的语法。

<tt class="COMPUTEROUTPUT"># record the memory usage of the system every monday
            # at 3:30AM in the file /tmp/meminfo
            30 3 * * mon cat /proc/meminfo >> /tmp/meminfo
            # run custom script the first day of every month at 4:10AM
            10 4 1 * * /root/scripts/backup.sh</tt>
ログイン後にコピー

例 37-1. crontab の例

root ユーザー以外のユーザーは、crontab ツールを使用して cron タスクを設定できます。すべてのユーザー定義の crontab は /var/spool/cron ディレクトリに保存され、それらを作成したユーザーの ID を使用して実行されます。ユーザーとして crontab プロジェクトを作成するには、そのユーザーとしてログインし、crontab -e コマンドを入力してユーザーの crontab を編集します。このファイルは /etc/crontab と同じ形式を使用します。 crontab への変更が保存されると、crontab ファイルはそのユーザー名で保存され、ファイル /var/spool/cron/username に書き込まれます。 cron デーモンは、/etc/crontab ファイル、etc/cron.d/

ディレクトリ、および /var/spool/cron ディレクトリの変更を毎分チェックします。変更が見つかった場合は、メモリにロードされます。こうすることで、crontab ファイルが変更されたときにデーモンを再起動する必要がなくなります。 cron の使用を制御する

/etc/cron.allow

および /etc/cron.deny

ファイルは、cron の使用を制限するために使用されます。これらの制御ファイル形式はどちらも、1 行に 1 人のユーザーを使用します。どちらのファイルにもスペースは使用できません。使用制御ファイルが変更された場合、cron デーモン (crond) を再起動する必要はありません。ユーザーが cron タスクを追加または削除するたびに読み取られる制御ファイルを使用します。 Root は、使用制御ファイルでの指定に関係なく、常に cron を使用できます。 cron.allow ファイルが存在する場合、そこにリストされているユーザーのみが cron の使用を許可され、

cron.deny

ファイルは無視されます。

cron.allow ファイルが存在しない場合、cron.deny にリストされているすべてのユーザーは cron の使用を禁止されます。

サービスの開始と停止 cron サービスを開始するには、/sbin/service crond start

コマンドを使用します。サービスを停止するには、

/sbin/service crond stop コマンドを使用します。このサービスはブート時に開始することをお勧めします。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

マルチスレッドをC言語で実装する4つの方法 マルチスレッドをC言語で実装する4つの方法 Apr 03, 2025 pm 03:00 PM

言語のマルチスレッドは、プログラムの効率を大幅に改善できます。 C言語でマルチスレッドを実装する4つの主な方法があります。独立したプロセスを作成します。独立して実行される複数のプロセスを作成します。各プロセスには独自のメモリスペースがあります。擬似マルチスレッド:同じメモリ空間を共有して交互に実行するプロセスで複数の実行ストリームを作成します。マルチスレッドライブラリ:pthreadsなどのマルチスレッドライブラリを使用して、スレッドを作成および管理し、リッチスレッド操作機能を提供します。 Coroutine:タスクを小さなサブタスクに分割し、順番に実行する軽量のマルチスレッド実装。

一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 Apr 06, 2025 am 12:03 AM

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

web.xmlを開く方法 web.xmlを開く方法 Apr 03, 2025 am 06:51 AM

web.xmlファイルを開くには、次の方法を使用できます。テキストエディター(メモ帳やテキストエディットなど)を使用して、統合開発環境(EclipseやNetBeansなど)を使用してコマンドを編集できます(Windows:Notepad web.xml; Mac/Linux:Open -A Textedit Web.xml)

Debian Hadoopの互換性はどうですか Debian Hadoopの互換性はどうですか Apr 02, 2025 am 08:42 AM

DebianLinuxは、その安定性とセキュリティで知られており、サーバー、開発、デスクトップ環境で広く使用されています。現在、DebianとHadoopとの直接的な互換性に関する公式の指示が不足していますが、この記事では、DebianシステムにHadoopを展開する方法について説明します。 Debianシステムの要件:Hadoop構成を開始する前に、DebianシステムがHadoopの最小動作要件を満たしていることを確認してください。これには、必要なJavaランタイム環境(JRE)とHadoopパッケージのインストールが含まれます。 Hadoop展開手順:Hadoopをダウンロードして解凍:公式ApachehadoopのWebサイトから必要なHadoopバージョンをダウンロードして解決します

PHP関数引数と配列の開梱で...(SPLAT)演算子の目的と使用について説明してください。 PHP関数引数と配列の開梱で...(SPLAT)演算子の目的と使用について説明してください。 Apr 06, 2025 am 12:07 AM

PHPの...(SPLAT)演算子は、機能パラメーターと配列を開梱するために使用され、コードのシンプルさと効率を向上させます。 1)関数パラメーター解放:アレイ要素をパラメーターとして関数に渡します。 2)配列の開梱:アレイを別の配列または関数パラメーターに解除します。

See all articles