GNU/Linux >> Linux の 問題 >  >> Linux

Crontabの例–5分ごと

今日は、5分ごとにスクリプトを実行するcrontabの例を調べます。

crontabの例

最近、VBulletinフォーラムのキャッシュメカニズムとして使用するために、CentOSオペレーティングシステムにmemcachedサーバーをインストールしました。常に実行されていることを確認するために、プロセスステータスを確認し、実行されていない場合は再起動するシェルスクリプトを作成しました。このスクリプトが特定の間隔で実行されることを確認するために、crontabを使用しました。 。

Crontabサンプルシェルスクリプト

シェルスクリプトは拡張可能であり、同様のスクリプトを記述して、UNIXシステムのサービスまたはプロセスを再起動できます。

これは、crontabの例で使用しているサービスを自動再起動するためのシェルスクリプトです。

memcached_restart.sh


#!/bin/bash
ps -eaf | grep 11211 | grep memcached
# if not found - equals to 1, start it
if [ $? -eq 1 ]
then
/usr/local/bin/memcached -d -u nobody -p 11211 -U 11211 -l 127.0.0.1
else
echo "eq 0 - memcached running - do nothing"
fi

このスクリプトの主なコマンドは、プロセスをチェックし、grepで「ps」コマンドを使用して、目的のサービスのみを返し、サービスが実行されていない場合は何も返さないことを確認することです。

使用するコマンドを思いついたら、開始コマンドを発行してサービスを実行するだけです。

crontabを使用して定期的に実行するように設定する前に、スクリプトをテストして期待どおりに機能していることを確認してください。

5分ごとのcrontabの例

スクリプトが完了したら、このスクリプトを定期的に実行するためにcronジョブを設定する必要があります。
以下のエントリを使用して、このスクリプトを5分ごとに実行しました。


*/5 * * * * /Users/pankaj/Downloads/memcached_restart.sh > /Users/pankaj/Downloads/memcache_restart.log 2>&1

crontabエラー–コマンドが見つかりません

crontabはPATHなどの環境変数を考慮しないため、プログラムまたはディレクトリの場所には常に絶対パスを指定する必要があることに注意してください。 crontabシェルスクリプトでコマンドを実行しているときに「コマンドが見つかりません」というエラーが発生し、自分で実行しても正常に実行される場合は、相対パスの使用が問題になります。

参照:ウィキペディア


Linux
  1. 15分ごとに「xribfa4」を実行している疑わしいcrontabエントリ?

  2. 新しいカーネルがインストールされるたびにスクリプトを実行しますか?

  3. Bash スクリプト - Hello World の例

  1. Crontab ログ:私の Cron スクリプトの出力をログに記録する方法

  2. 毎日決まった時間にシェルスクリプトを実行する

  3. Crontab では、n > 60 の n 分ごとに指定する一般的な方法

  1. Curl Outfile変数がBashスクリプトで機能しませんか?

  2. スクリプトを使用して crontab を作成する方法

  3. crontab 経由で Python スクリプトを実行する