Linux

cron

投稿日:2013年1月28日 更新日:

windowsでいうところのタスクにあたります。
定期的にプログラムを実行することに使用します。

編集方法

#crontab -l 登録している一覧を確認
#crontab -e 編集
#crontab -u (ユーザ名) ユーザ名で指定したユーザの設定。rootのみ操作可能。

crontableの略だと思います。

#crontab -e で編集画面を開き、viの要領でテキストエディタのように設定を編集します。

0 4 * * * /usr/bin/[プログラム]  毎朝4時に実行
分 (0-59) 指定しない場合は*
 時 (0-23) 指定しない場合は* 
  日 (1-31) 指定しない場合は*
   月 (1-12) 指定しない場合は*
    曜日(0-6) 日曜が0 指定しない場合は*
の順番で起動日時を指定します。

秒単位の実行

例えば5秒毎にxxx.shを実行する場合は以下のようになります。

* * * * * /home/batch/bin/xxx.sh & sleep 5;/home/batch/bin/xxx.sh & sleep 5;/home/batch/bin/xxx.sh & sleep 5;/home/batch/bin/xxx.sh & sleep 5;/home/batch/bin/xxx.sh & sleep 5;/home/batch/bin/xxx.sh & sleep 5;/home/batch/bin/xxx.sh & sleep 5;/home/batch/bin/xxx.sh & sleep 5;/home/batch/bin/xxx.sh & sleep 5;/home/batch/bin/xxx.sh & sleep 5;/home/batch/bin/xxx.sh & sleep 5;/home/batch/bin/xxx.sh

cronでは1分毎が最小単位になりますので、cronだけでやろうとするとこのように複雑になってしまいます。

以下のような書き方も可能です。

* * * * * /home/batch/bin/xxx.sh
* * * * * sleep 5; /home/batch/bin/xxx.sh
* * * * * sleep 10; /home/batch/bin/xxx.sh
  …
* * * * * sleep 55; /home/batch/bin/xxx.sh

どちらにせよ、設定は複雑となり見た目によくわかりません。
私はxxx.sh内部でループさせてスリープを入れる方がいいのではないかと思っています。

Gooleアドセンス用336

Gooleアドセンス用336

-Linux

執筆者:

関連記事

linux

samba(共有)の設定

ユーザーのホームディレクトリを隠す publicは見せたいがユーザーのホームディレクトリは非表示にしたい場合がある。 その場合は/etc/samba/smb.confの [global]設定のデフォル …

linux

linxuのパーミッションの設定(chmod)

ディテクトリやファイルには、グループ毎に読み込み、書き込み、実行の権限が付与できます。 確認方法 lsコマンドにlオプションを付けると確認できます。 # ls -l 合計 72 drwxr-xr-x …

linux

digコマンドでDNSを調査する

digコマンドを使用すれば、指定したDNSサーバーに問い合わせができます。 dig @[DNSサーバー] [調べたいドメイン] です。 下記は8.8.8.8(googleDNS)にntp.nict.j …

linux

vmware上のCentOSに仮想化ソフトxenをインストールする(2)ドメイン0のインストール

管理osであるドメイン0のインストール方法です。 INDEX1 xenのインストール2 GRUBの設定変更3 確認 xenのインストール # yum install xen virt-manager …

opensslによる自己認証局と自己署名によるSSL

自己認証局を開設によるSSLと自己署名によるSSLは何がちがうのでしょうか。 それはサーバの署名要求書(server.csr)を何を使って署名しているかが異なります。 自己認証局を作成した場合には認証 …