ホームページ >運用・保守 >Linuxの運用と保守 >Cronを使用してLinuxのタスクをスケジュールするにはどうすればよいですか?
cron
を使用してLinuxでタスクをスケジュールするには、 crontab
ファイルの編集が含まれます。このファイルにはエントリが含まれており、それぞれが特定の時間に実行されるタスクを指定します。 Command crontab -e
を使用してcrontabを編集できます。これにより、テキストエディター(通常は vi
または nano
、システムの構成に応じて vi
nano )にクロンタブファイルが開きます。 (0-23):時間(24時間形式で)タスクは実行されるはずです。
たとえば、 my_script.shsh
という名前のスクリプトを午前3時に実行するには、クロンタブに次の行を追加します:
<pre class="brush:php;toolbar:false"> 0 3 * * * * * * * * * * * * * * * * * * * * * * * * * /path/to/my_script.sh
hore、*
は、そのフィールドの「すべての値」を表します。範囲(1〜5日目には 1-5
など)、リスト(1、5、および10日目の 1,5,10
)、およびステップ値(例えば、*/5
を5分ごとに実行する)を使用できます。 /path/to/my_script.sh
をスクリプトへの実際のパスに置き換えることを忘れないでください。スクリプトにアクセス許可が実行されていることを確認してください( chmod x /path/to/my_script.sh
).
いくつかの一般的な間違いが、クロンジョブが故障するか、予想どおりに実行されない可能性があります。避けるべき重要な落とし穴は次のとおりです。
/
)に対して評価されます。スクリプトが出力を生成すると、失われる可能性があります。常にログファイルに出力をリダイレクトします: my_script.sh&gt; /path/to/my_log.txt 2&gt;&amp; 1
。これにより、標準出力(stdout)と標準誤差(stderr)の両方がログファイルにリダイレクトされます。 mailto
変数を使用できます(例: mailto =&quot; your_email@example.com"
)。ただし、潜在的な電子メールサーバーの構成の問題に注意してください。/var/log/syslog
、/var/log/cron
、または /var/log/cron.log
が含まれます。 Cronジョブに関連するエラーメッセージについてログファイルを調べます。
script my_script.sh
を実行するために
hore、 sudo -u john
は、ユーザー john
としてコマンドを実行します。これには、Cronジョブを実行しているユーザー(通常、Crontabを作成したユーザー)に sudo
特権を持っている必要があります。 john
ユーザーがスクリプトを実行し、必要なファイルにアクセスするために必要なアクセス許可があることを確認してください。 sudo
を使用することは、通常、セキュリティ上の理由で他のユーザーとしてコマンドを直接実行するよりも推奨されます。または、ユーザー john
のcrontab内でCronジョブを直接セットアップすることもできます。
以上がCronを使用してLinuxのタスクをスケジュールするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。