GNU/Linux >> Linux の 問題 >  >> Linux

yum-cronを使用したLinuxでの更新のスケジューリング

あるタスクを自動化するための新しいスクリプトを設定するたびに、cronの例を見る必要があります。そうでない場合は、Googleに問い合わせる必要があります。 crontabの構文を思い出せないようです。そして、それは過去20年間私にとってそのようでした。病理学的なcronブロックがあります。そのため、yum-cronを発見しました パッケージ、私はかなり幸せでした。 yum-cron パッケージがスケジュールを処理してくれます。設定ファイルに1つの変更を加えるだけで、すべてが機能します。これは、独自のスクリプトを作成したり、cronと格闘したりせずに、これらの自動更新を今日実行するための短いチュートリアルです。 。

yum-cron-cronからyumを簡単に呼び出すためのインターフェース

インストール

yum-cronをインストールするために特別なことは何もしません。 これはベースリポジトリの一部であるため、dnfから取得するだけです。 。

$ sudo dnf -y yum-cron

yum-cron コマンドは実際には調べることができるPythonスクリプトです。 /sbinにインストールされます 、チェックアウトしたい場合。

構成と最初の実行

インストールしたら、デフォルトの構成ファイルである/etc/yum/yum-cron.confを編集する必要があります。 。このファイルは毎日のcron実行を設定しますが、すぐに実行する方法も示します。 /etc/yum/yum-cron.confを開きます お気に入りのエディターを使用して、次の2行を次のように変更します。

apply_updates = no
...
random_sleep = 360

宛先:

apply_updates = yes
...
random_sleep = 0

random_sleepパラメータを変更すると、yum-cronが発生します すぐに実行します。 random_sleepの理由 パラメータが存在するのは、同時に発生する更新のために多くの帯域幅を消費しないようにするためです。

[無料のオンラインコース:Red HatEnterpriseLinuxの技術概要。 ]

yum-cronを今すぐ実行してシステムの起動時に実行するように設定します

次に、yum-cronを有効にします システムの起動時に自動的に実行してから起動します。

$ sudo systemctl start yum-cron

$ sudo systemctl enable yum-cron

数分後、yum.logをチェックして、更新がダウンロードされ、システムに適用されているかどうかを確認します。システムに必要な更新の数によっては、更新の表示に少し時間がかかる場合があります。

$ sudo tail -10 /var/log/yum.log

Aug 04 10:59:54 Installed: libmodman-2.0.1-8.el7.x86_64
Aug 04 10:59:54 Installed: libproxy-0.4.11-11.el7.x86_64
Aug 04 10:59:54 Installed: glib-networking-2.56.1-1.el7.x86_64
Aug 04 10:59:54 Installed: cockpit-bridge-195.6-1.el7.centos.x86_64
Aug 04 10:59:55 Installed: cockpit-system-195.6-1.el7.centos.noarch
Aug 04 10:59:55 Installed: cockpit-ws-195.6-1.el7.centos.x86_64
Aug 04 10:59:55 Installed: cockpit-195.6-1.el7.centos.x86_64
Aug 04 16:47:55 Installed: python-chardet-2.2.1-3.el7.noarch
Aug 04 16:47:55 Installed: python-kitchen-1.1.1-5.el7.noarch
Aug 04 16:47:55 Installed: yum-utils-1.1.31-54.el7_8.noarch

上のスクリーンショットでは、いくつかの更新があったことがわかります。私はそれがまったく起こったかどうかを見るために最後の10だけを見ました。しました。

再構成

最初の実行後、/etc/yum/yum-cron.confを編集する必要があります ファイルを再作成し、random_sleepを復元します パラメータを元の値の360に変更します サーバーが一握り以上ある場合。

知りたいと思うかもしれないランダムなこと

yum-cronをインストールして設定しましたが ルートとして、スケジュールはルートのcrontabに影響を与えません。言い換えれば、そこにはリストされていません。スケジュールは/etc/cron.dailyの下に巧妙に隠されています。 0yum-daily.cronという名前のファイル内 。 /etc/yum/yum-cron-hourly.confを構成することもできます 1時間ごとに実行します。毎日の実行と同様に、時間単位のスケジュールファイルは/etc/cron.hourlyの下にあります。 0yum-hourly.cronとして 。

yum-cronを介してのみセキュリティアップデートをインストールする場合 、update_cmdを変更します /etc/yum/yum-cron.confのパラメータ 次のように「セキュリティ」または他の値に:

[commands]
#  What kind of update to use:
# default                            = yum upgrade
# security                           = yum --security upgrade
# security-severity:Critical         = yum --sec-severity=Critical upgrade
# minimal                            = yum --bugfix update-minimal
# minimal-security                   = yum --security update-minimal
# minimal-security-severity:Critical =  --sec-severity=Critical update-minimal
update_cmd = default

yum-cron マニュアルページは、/sbin/yum-cronで指定する必要のあるさまざまな構成ファイルを作成して使用できることを示す以外はほとんど役に立ちません。 default_config_fileとしてのPythonスクリプト 。 EPELなどの新しいリポジトリを追加する場合、yum-cronの追加の構成は必要ありません。 。いつ追加したかに関係なく、yum-cronを再起動せずに、すべてのリポジトリから更新を試みます。 サービス。

まだ数百、あるいは数十のLinuxシステムを管理している場合は、yum-cronを使用します。 。 yum-cronもインストールします yum-cron.confを配布します すべてのシステムに個別に触れることを避けるために、Ansibleを介してファイルを作成します。

まとめ

yum-cron パッケージは、インストールと使用が簡単なユーティリティです。システム管理者として、Linuxシステムの管理を支援する自動化と「ステップセービング」アプリケーションが必要です。また、プログラムが軽量で、本質的にPythonスクリプトであることが気に入っています。必要に応じて変更できる構成ファイルがあります。正直なところ、yum-cron は、私のキャリアを通じて、また管理するすべてのシステムで引き続き使用する重要なシステム管理ユーティリティの1つとして、ツールボックスに組み込まれています。

[無料ダウンロード:高度なLinuxコマンドのチートシート。 ]


Linux
  1. checksecを使用してLinuxのセキュリティプロパティを特定する

  2. Linuxでのripgrep(rg)コマンドの使用

  3. Linux Deploy を使用した Android 上の Kali Linux

  1. ProcDumpを使用してLinuxをデバッグする

  2. Linux での dmsetup コマンドの使用例

  3. Linux でシグナルを使用した IPC

  1. Linuxでprocファイルシステムを使用してトラブルシューティングする

  2. 50 UNIX / Linux システム管理者チュートリアル

  3. Linux カーネルで getnstimeofday を使用する例