実用的な運用自動化は、一度動くスクリプトだけでは不十分です。バージョン管理され、実行可能で、出力が制御され、予測可能な予定で動く必要があります。このチャレンジ形式のプロジェクトでは、それらを小さなローカル運用ツールキットとして組み立てます。
Git ワークフローを整え、Bash 健康監視を作り、sed と awk で準備済みログを変換し、2 件の Cron エントリを登録します。コマンド解答ではなく、ファイル、権限、Git 状態、レポート内容、Crontab 構文が検証されます。
学習内容
- ローカル Git リポジトリを初期化し、除外ルールを定義し、
developブランチで基準コミットを作る - ルートファイルシステム使用率と Nginx 状態を時刻付きで報告する実行可能 Bash スクリプトを書く
dfでディスク使用率を抽出し、systemctl、service、pgrepのいずれかでサービスを確認するsedとawkでDEBUG行を除去し、IPv4 を隠し、ログフィールドを整形する- 指定の時刻、秘匿タグ、メッセージ形式を持つレポートと実行可能な処理スクリプトを作る
- 監視を 5 分ごと、ログ処理を毎日
02:00に設定し、監視エラーをファイルへ送る
このコースの対象者
手順ごとのコマンドなしで Git、Bash、テキスト処理、Cron を組み合わせたい Linux・DevOps 学習者向けです。
前提知識: Shell スクリプト、実行権限、Git 基礎、パイプライン、sed、awk、プロセスまたはサービス確認、Crontab 構文に慣れていること。評価型プロジェクトです。
学習環境: Bash、Git、Cron、Nginx 関連サービス状態、GNU/Linux テキストツール、準備済みファイルを備えたブラウザー対応 Linux ホスト。遠隔 Git やクラウドは不要です。
よくある質問
Git フェーズでは GitHub などへ push しますか?
いいえ。/home/labex/ops-toolkit にローカルリポジトリを作り、*.tmp と logs/ を除外し、develop に切り替えて基準コミットを 1 件以上作るだけです。
監視スクリプトは完全なアラートシステムですか?
いいえ。monitor.sh はルートディスク使用率と Nginx 稼働状態を時刻付きで表示します。閾値、通知、メトリクス保存、ダッシュボードはありません。
ログ処理はどの形式を想定しますか?
日付、時刻、レベル、IPv4、メッセージを空白で区切った準備済みレコードです。DEBUG を除き、IP を [REDACTED] にして YYYY-MM-DD HH:MM:SS [REDACTED] Message... を出力します。
Cron 課題はジョブが実際に動くまで待ちますか?
いいえ。monitor.sh を 5 分ごとに実行して stderr を monitor.err へ送り、process_logs.sh を毎日 02:00 に実行する、ちょうど 2 行を検証します。





