コース概要
1日目
モジュール1: Unixユーザー向けのPython入門
トピック
スクリプティングと自動化のためのPythonの選択
• スクリプティングにおけるPythonの利点
• システム管理およびDevOpsにおけるPythonの使用
BashとPythonの比較
• 変数
• 制御フロー(if文、ループ)
• ファイルの操作
• システムコマンドの実行
Pythonスクリプトの構造
• Pythonスクリプトの実行
• インタープリターの使用
• コマンドライン引数
• argparseの入門
演習
演習1 – シンプルなBashスクリプトをPythonに変換する
Bashスクリプトは以下を行います:
• ディレクトリ内のファイルをリストアップする
• 拡張子でフィルタリングする
• 統計情報を表示する
参加者はこのスクリプトをPythonで書き直します。
演習2 – CLI引数付きのPythonスクリプト
以下の処理を行うPythonスクリプトの作成:
• コマンドラインからパラメータを受け取る
• ファイルを処理する
• 構造化された結果を表示する
モジュール2: ファイルとディレクトリ操作
トピック
Pythonでのファイルシステム操作
• ファイルの読み込みと書き込み
• ディレクトリの移動
• パスの処理
pathlibモジュールの使用
• パス管理
• ファイル操作
Unixユーティリティの置換
• grep
• find
• sed
• awk
これらをPython実装で置き換える
演習
演習1 – ファイルシステムのスキャン
以下の処理を行うPythonスクリプト:
• 大きなファイルを検索する
• 古いファイルを特定する
• レポートを生成する
演習2 – 設定ファイルの処理
以下の処理を行うPythonスクリプト:
• テキストファイルを読み込む
• 関連情報を抽出する
• 統計情報を生成する
2日目
モジュール3: ログ処理とテキスト操作
トピック
Pythonでのテキスト操作
• 文字列操作
• データのフィルタリングと変換
正規表現(regex)
• パターンの特定
• ログの解析
シェルパイプラインの置換
例:
grep | awk | sed | sort
これらをPythonで実装する
演習
演習1 – ログファイルの分析
以下の処理を行うPythonスクリプト:
• システムログを読み込む
• エラーを特定する
• エラーの頻度を計算する
演習2 – シェルパイプラインをPythonに変換する
複雑なBashパイプラインをPythonスクリプトに変換する
モジュール4: システムコマンドの自動化
トピック
Pythonからのシェルコマンドの実行
• subprocessモジュール
• 出力のキャプチャ
• エラーハンドリング
管理タスクの自動化
• システムコマンドの実行
• cronジョブとの連携
• 反復的なタスクのためのスクリプティング
プロセス管理
• プロセスのモニタリング
• シンプルな並列実行
演習
演習1 – システムコマンドを実行するPythonスクリプト
スクリプトは以下を行います:
• Unixコマンドを実行する
• 出力をキャプチャする
• レポートを生成する
演習2 – サービスモニタリング
以下の処理を行うPythonスクリプト:
• サービスのステータスを確認する
• 情報を収集する
• 結果を表示する
3日目
モジュール5: 高度な自動化と外部サービスとの連携
トピック
PythonでのAPI操作
• HTTPリクエストの入門
• 認証とトークン
• JSON応答の処理
DevOps自動化のためのPython
• 外部サービスからのデータ収集
• 既存のツールとの統合
• インフラストラクチャスクリプティング
演習
演習1 – APIを利用するPythonスクリプト
スクリプトは以下を行います:
• APIからデータを収集する
• 情報を処理する
• レポートを生成する
演習2 – データ収集の自動化
以下の処理を行うPythonスクリプト:
• システム情報を収集する
• JSONまたはCSVレポートを生成する
モジュール6: 管理用CLIツールの構築
トピック
Pythonプロジェクトの構造化
• コードの整理
• 関数の再利用
• モジュールとパッケージ
CLIツールの作成
• コマンドライン引数
• 構造化された出力
• エラーハンドリング
最終演習
参加者は以下の処理を行うPythonのCLI自動化ツールを構築します:
• ログファイルを分析する
• エラーを特定する
• 統計情報を生成する
• コマンドラインから実行可能であること
コースの到達目標
コース終了までに、参加者は以下のことができるようになります:
• シェルスクリプトをPythonスクリプトに変換する
• Pythonを使用してシステムタスクを自動化する
• ログや複雑なデータを処理する
• Unixシステム管理用のCLIツールを構築する
要求
前提条件
- Unix/Linuxオペレーティングシステムに関する基礎知識
- コマンドラインの使用(シェル/Bash)への親しみ
- シンプルなシェルスクリプトの作成経験(例:ループ、条件分岐、ファイル操作)
- システム管理の概念に関する一般的な理解があると有利です
- Pythonの事前経験は必要ありません
対象者
- Unix/Linux環境で働くシステム管理者
- 自動化の能力を向上させたいDevOpsエンジニア
- 日常業務でシェルスクリプティングを利用するエンジニアおよび技術スペシャリスト
- BashからPythonへの移行に関心のあるITプロフェッショナル
- ワークフローをより効率的に自動化したいUnix環境で働く開発者
お客様の声 (2)
各トピックについてより深く理解するのに、実践的な演習が大いに役立ちます。また、授業を講義で始め、その後実践的な演習を続けていくスタイルは、先に呈示された講義内容と関連付ける上で非常に役立つし、助けになります。
Nazeera Mohamad - Ministry of Science, Technology and Innovation
コース - Introduction to Data Science and AI using Python
機械翻訳
ドメインに完全適応された例題・練習問題
Luc - CS Group
コース - Scaling Data Analysis with Python and Dask
機械翻訳