• ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • 日経BP
  • PR

  • PR

  • PR

  • PR

  • PR

Linuxコマンド逆引き大全

【 定期的にプログラムを動かす 】

2006/02/28 日経Linux
 Linuxコマンド逆引き大全
コマンド集(機能別) | コマンド集(アルファベット順) | コマンド逆引き大全 | シェル・スクリプト・リファンレス

 定期的にプログラムを動かす
# crontab -e
00 01 * * * /usr/local/sbin/logrotate

 ログ・ファイルの切り替えなど,プログラムを定期的に繰り返し実行したい場合は「crontab」コマンドを用いる。


$ crontab -e

 このように入力すると,設定ファイルであるcrontabの編集に移る。編集には通常viが使われる。crontabの書式は


min hour day month week command

である。それぞれの意味は以下の表の通り。


書式 意味
min 分を指定する。ワイルド・カード(*)を使用できる
hour 時を指定する。ワイルド・カード(*)を使用できる
day 日を指定する。ワイルド・カード(*)を使用できる
month 月を指定する。ワイルド・カード(*)を使用できる
week 曜日を指定する。0を日曜日とし,各曜日に順に数字を当てはめていく。またワイルド・カード(*)も使用できる
command 実行するコマンドまたはスクリプトを指定する

 例えは,「/var/message」ログを日付別に分けたい場合は,次のようにする。まず,テキスト・エディタで以下のようなファイルを作成する(ファイル名は/usr/local/sbin/logrotateとした)。これらの作業はルート権限で行う。


#!/bin/sh
cd /var/log/
R=$(date +%Y%m%d)
mv messages messages.$R

 次に,このプログラムに実行権限を与える。


# chmod 700 /usr/local/sbin/logrotate

 crontabを編集する。例えば,毎日23時59分に実行するようにする。


# crontab -e
59 23 * * *    /usr/local/sbin/logrotate


あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る