短いシェルパイプラインでは扱いにくい運用タスクに、構造化データ、再利用可能なロジック、確実なエラー処理が必要になったとき、Python が実用的な次の選択肢になります。このハンズオンコースでは、Python 3 と標準ライブラリだけを使って小さな Linux 自動化ツールを作ります。
システムコマンドの実行、ディレクトリツリーの管理、JSON 設定の変換、タイムアウト付き HTTP チェックを、外部パッケージなしで実践します。最終チャレンジでは、ディスク使用量と Web サービス状態を機械可読な JSON レポートへ記録するローカル健康確認スクリプトを完成させます。
学習内容
- Python 3 REPL を使い、Linux プラットフォーム情報を調べるスクリプトを書く
subprocess.runでコマンドを実行し、出力の取得とデコード、非ゼロ終了ステータスの処理を行う- ディレクトリとファイルを作成し、
shutilで移動・コピーし、os.walkでツリーを走査する - 拡張子でファイルを絞り込み、設定データを変更する前にバックアップを作る
- JSON を Python 辞書へ読み込み、値を変更し、
json.dumpで読みやすい JSON を書き出す urllib.requestで HTTP 状態を確認し、タイムアウトを設定して HTTP エラーと接続失敗を区別する- ディスクとローカルサービスの結果を
/tmp/health_report.jsonへ書く、例外処理付き健康確認スクリプトを作る
このコースの対象者
保守しやすい Python 自動化を取り入れたい DevOps 学習者、システム管理者、Bash ユーザー向けです。
前提知識: Linux ターミナルとファイルシステムの基礎。Python の経験は必要ありません。
学習環境: Python 3、Bash、nano、標準 Linux コマンド、接続確認用のローカル HTTP サービス、Python 標準ライブラリを備えたブラウザー対応 Linux ターミナル。パッケージの追加やクラウドアカウントは不要です。
よくある質問
Requests などの外部 Python パッケージは必要ですか?
いいえ。すべての演習で subprocess、os、shutil、json、urllib などの標準ライブラリを使います。ネットワークラボでは意図的に Requests ではなく urllib.request を使用します。
一般的な Python プログラミングコースですか?
いいえ。特定の運用タスクに必要な構文と制御フローを扱います。クラス、パッケージング、Web フレームワーク、テストフレームワーク、一般的なアプリ開発は対象外です。
ファイル操作で重要なシステムファイルを変更しますか?
いいえ。プロジェクトディレクトリに使い捨ての test_env ツリーを作り、そのサンプルファイルで名前変更、移動、コピー、走査、絞り込みを練習します。
最終的な健康確認は実際に何を監視しますか?
df -h を実行し、http://localhost が HTTP 200 を返すか確認します。ディスク出力と online または offline のサービス状態を辞書にまとめ、有効でインデント付きの JSON を /tmp/health_report.json に書きます。これはローカルスクリプトであり、配備済みの監視基盤ではありません。



