🐧 Linux 総合学習プラットフォーム

自動化/定期実行の用語集(10語)

自動化/定期実行に関する Linux 用語を、読み・意味・補足つきでまとめました。

Ansibleアンシブル
SSH 経由で複数サーバの構成を自動化する、エージェント不要の構成管理ツール。
管理対象に常駐プログラムを置かず、SSH で処理を流します。1回限りの操作は ad-hoc コマンド、再利用する手順は YAML の playbook で記述し、各処理は冪等に設計されています。
atアット
指定した時刻にコマンドを一度だけ実行する、単発予約用のコマンド。
繰り返しの cron に対し、at は一回限りの予約に使います。予約一覧は atq、取り消しは atrm で扱います。atd デーモンが予約を管理します。
cronクロン
決まった時刻や間隔でコマンドを自動実行する、Unix系OS標準のスケジューラ。
cron は crond というデーモンが定期的に各ユーザの予定表(crontab)を確認し、時刻が来たコマンドを起動するしくみです。バックアップやログ整理などの定例作業を無人で繰り返すのに使われます。
crontabクロンタブ
cron の予定表そのもの、またはそれを編集するコマンド。ユーザごとに持つ。
crontab -e で自分用の予定表を編集し、crontab -l で内容を確認します。1行が1つの定期ジョブを表し、実行タイミングと実行するコマンドを記述します。
cron式(5フィールド)クロンしき
「分 時 日 月 曜日」の5つで実行タイミングを表す cron の書式。
左から分(0-59)・時(0-23)・日(1-31)・月(1-12)・曜日(0-7)を並べます。* は毎、*/n はn間隔、a,b は列挙、a-b は範囲を表します。例: 0 3 * * * は毎日午前3時。
Playbookプレイブック
Ansible の実行手順を YAML でまとめたファイル。何をどの順で行うかを記述する。
対象ホスト群と、適用するタスク(パッケージ導入・設定配置・サービス起動など)を順に記述します。ansible-playbook コマンドで実行し、同じ playbook を何度流しても安全です。
systemd timerシステムディー タイマー
systemd でコマンドを定期実行するためのユニット。cron の代替として使われる。
実行内容を書いた service ユニットと、起動タイミングを書いた timer ユニットの組で動きます。ログが journal に統合され、逃した実行を補う Persistent 設定ができるのが特徴です。
デーモンデーモン
バックグラウンドで常駐し続けるプロセス。crond や atd が代表例。
ユーザの操作とは独立に動き続け、要求やスケジュールに応じて処理を行います。定期実行では crond が、単発予約では atd が常駐して時刻を監視します。
ユニットユニット
systemd が管理する処理の単位。service や timer などの種類がある。
systemd ではサービス・タイマー・マウントなどをそれぞれユニットとして扱い、設定ファイル(.service や .timer)で定義します。systemctl で起動・停止・有効化を操作します。
冪等性べきとうせい
同じ操作を何度実行しても結果が変わらない性質。自動化処理の安全性の鍵。
冪等な処理は、既に望む状態なら何もしないため、繰り返し実行しても副作用が積み重なりません。自動化スクリプトや Ansible の playbook はこの性質を満たすよう設計します。

▶ 学習アプリで「引く」を使う