ログ管理とレポート作成の基本|ターミナルでできる分析入門|UNIX Cafe

当ページのリンクには広告が含まれています。
ログ管理とレポート作成の基本|ターミナルでできる分析入門

UNIX Cafe | 第15回

“働き者のスクリプト”を記録して、レポートを作ろう!

目次

はじめに|朝のカフェでログをチェック

ミナちゃん

ユニ先生、最近カフェの自動オープンがうまくいってます。
でも…何時に開いたか、ちゃんと動いたか、たまに不安なんです。

ユニ先生

ふむ、それはいい感覚だね。スクリプトを動かしたら「どう動いたか」も記録しておくのがプロの流儀。それが ログ(記録) なんだ。

ミナちゃん

ログ…って、コーヒー豆の在庫ノートみたいなものですか?

ユニ先生

まさにその通り。
「いつ・何を・どう動かしたか」を記録すれば、あとで振り返りも簡単だよ。今日はそのための“リダイレクトとcronの応用”を学ぼう。

ログに出力を残すリダイレクト

ユニ先生

まずはスクリプトの結果をファイルに書き出してみよう。
前にも出てきた > や >> の出番だ。

出力をログに追記するスクリプト

home/username/この部分を自分のユーザー名に書き換えてください。

#!/bin/bash
# ☕ log_report.sh
# カフェのレポートログを作るスクリプト

/bin/echo "📅 $(/bin/date '+%Y-%m-%d %H:%M:%S') レポート開始" >> /home/username/cafe_report.log
/bin/echo "☕ 本日の営業状況を確認中..." >> /home/username/cafe_report.log
/bin/echo "✅ ログ記録完了!" >> /home/username/cafe_report.log
/bin/echo "-----------------------------" >> /home/username/cafe_report.log
ミナちゃん

これで、毎回の記録が cafe_report.log にどんどん増えていくんですね。

ユニ先生

そうそう。
> は上書き、>> は追記。
記録を残すなら“ダブル矢印”がカフェ流さ。

ミナちゃん

Linux:/home/username/macOS:/Users/username/ の部分は自分の環境に合わせて変更してくださいね。

ファイルに実行権限をつける

bash
$ chmod +x log_report.sh
ミナちゃん

open_cafe.sh」に実行権限をつけておきましょう。

cronで毎日レポートを自動作成

ミナちゃん

じゃあこのログスクリプトを、毎日自動で動かすこともできるんですか?

ユニ先生

もちろんさ。
cron にお願いすれば、“毎日閉店後にレポート作成”もできるよ。

cron設定ファイルを開く

bash
$ crontab -e

crontabに次の一行を追加する

home/username/この部分を自分のユーザー名に書き換えてください。

0 21 * * * /home/username/unix_cafe/log_report.sh >> /home/username/unix_cafe/cron_debug.log 2>&1
ミナちゃん

>> のあとに 2>&1 ってありますけど…これはなんですか?

ユニ先生

いい質問だね。
これは「エラーメッセージも一緒にログに書く」という指定なんだ。

  • 1 は 標準出力(ふつうの出力)
  • 2 は 標準エラー出力(エラー)
  • 2>&1 は「2を1と同じ場所に送る」つまりまとめて記録するという意味
ミナちゃん

Linux:/home/username/macOS:/Users/username/ の部分は自分の環境に合わせて変更してくださいね。

Try it!|レポート自動作成スクリプトを動かしてみよう

log_report.sh

home/username/この部分を自分のユーザー名に書き換えてください。

#!/bin/bash
/bin/echo "📅 $(/bin/date '+%Y-%m-%d %H:%M:%S') 自動レポート生成中..." >> /home/username/unix_cafe/daily_report.log
/bin/echo "☕ 今日も平和なカフェ営業でした!" >> /home/username/unix_cafe/daily_report.log
/bin/echo "🌙 閉店処理完了。おつかれさまでした。" >> /home/username/unix_cafe/daily_report.log
/bin/echo "-----------------------------" >> /home/username/unix_cafe/daily_report.log
ミナちゃん

Linux:/home/username/macOS:/Users/username/ の部分は自分の環境に合わせて変更してくださいね。

cron設定(毎晩22時30分に実行)

home/username/この部分を自分のユーザー名に書き換えてください。

30 22 * * * /home/username/unix_cafe/log_report.sh >> /home/username/unix_cafe/cron_debug.log 2>&1
ミナちゃん

これなら“今日のカフェ記録”が自動で増えていきますね。
エラーも一緒に記録されるなんて安心です!

ユニ先生

そう、ログは“昨日の自分と話すノート”みたいなものさ。
あとで読み返すと、スクリプトの癖や改善点も見えてくるんだよ。

ミナちゃん

Linux:/home/username/macOS:/Users/username/ の部分は自分の環境に合わせて変更してくださいね。

コーヒーブレイク:ユニ先生のひとこと

ログはね、カフェの日記みたいなもの。
ちゃんと書いておくと、あとで思い出もミスも味わえるんだ。

ページのまとめ

  • :出力を上書き
  • :出力を追記
  • 2>&1:エラーも一緒に記録
  • cron:時間でスクリプトを自動実行
  • username :ご自身の環境に合わせて変更して下さい。
ミナちゃん

cronでスクリプトを動かして、リダイレクトで結果を残す…
これで完璧な“自動レポートカフェ”になりましたね!

ユニ先生

ふふっ、これでカフェの記録係もバッチリだね。
「動かして終わり」じゃなく「記録して次につなぐ」
それがUNIXの“働き方改革”さ。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次