Open1

sa1,sa2コマンドとシステムのcrontabについて

ひでひで

sa1とsa2コマンド

sa1コマンド:

  1. 主な役割:

    • システムの活動データを「収集」する
    • データを一時的なバイナリファイルとして保存
    • 生データの収集が目的
  2. 動作タイミング:

    • 通常10分おきに実行(設定による)
    • 1日を通じて定期的に実行される
  3. 出力先:

    • /var/log/sa/sadd ファイル(ddは日付)
    • バイナリ形式で保存

sa2コマンド:

  1. 主な役割:

    • 収集されたデータを「レポート化」する
    • 1日分のデータをまとめる
    • 人間が読めるレポートを作成
  2. 動作タイミング:

    • 通常1日1回(深夜)に実行
    • その日のデータをまとめる
  3. 出力先:

    • /var/log/sa/sardd ファイル(ddは日付)
    • テキスト形式のレポート

簡単な例え:

  • sa1:1日中メモを取り続ける記録係
  • sa2:1日の終わりにメモをまとめてレポートを作る編集者

このように、sa1は「データ収集」、sa2は「レポート作成」という異なる役割を持っています。
両者が連携することで、システムの活動状況を継続的に監視・分析することができます。

システムのcrontab

基本概念:

  • 定期的なタスクを自動実行するためのスケジューラ
  • システム全体のcrontabと、ユーザー個別のcrontabがある

主要な場所:

/etc/crontab          # システム全体のcrontab
/etc/cron.d/          # 追加のcrontabファイル
/etc/cron.daily/      # 日次実行スクリプト
/etc/cron.hourly/     # 毎時実行スクリプト
/etc/cron.weekly/     # 週次実行スクリプト
/etc/cron.monthly/    # 月次実行スクリプト

crontabの書式:

分 時 日 月 曜日 実行ユーザー コマンド

例:

# 毎日10分おきにデータ収集
*/10 * * * * root /usr/lib64/sa/sa1 1 1

# 毎日23:53に日次レポート作成
53 23 * * * root /usr/lib64/sa/sa2 -A

時間指定の説明:

  • 分:0-59
  • 時:0-23
  • 日:1-31
  • 月:1-12
  • 曜日:0-7(0と7は日曜日)

特殊文字:

  • *:すべての値
  • */n:n間隔で実行
  • 1-5:1から5まで
  • 1,3,5:1,3,5のときに実行

具体例:

# 毎時0分に実行
0 * * * * コマンド

# 平日の9時から17時まで1時間おきに実行
0 9-17 * * 1-5 コマンド

# 毎月1日の0時0分に実行
0 0 1 * * コマンド

sysstatパッケージのcrontab設定:

  • 通常、インストール時に自動的に設定される
  • /etc/cron.d/sysstatに設定が保存される
  • データ収集間隔やレポート作成時刻を調整可能

トラブルシューティング:

  1. ログの確認:

    tail -f /var/log/cron
    
  2. crontabの構文確認:

    crontab -l
    
  3. 権限の確認:

    ls -l /etc/cron.d/
    

LPIC学習メモ