BLOGTIMES
2014/05/31

CentOS 6 で夜中に自動的に yum update を実行する

  centos6  systemmanagemant 
このエントリーをはてなブックマークに追加

直接外のネットワークにつながっているサーバは安定性を多少犠牲にしたとしても自動的に yum update を実行するようになっていると便利なことがあります。これまでは cron に自分でスクリプトを仕込んでいたのですが、実は CentOS 6 にはオフィシャルにこれをやるためのパッケージが用意されていることが分かったので、乗り換えてみました。下記の通り、インストールは yum で一撃です。

yum install yum-cron

設定については /etc/sysconfig/yum-cron があるので、YUM_PARAMETER で実行時のパラメータを指定したり、DOWNLOAD_ONLY を yes にしてインストールせずにダウンロードだけをしておくことや、CHECK_ONLY を yes にしてアップデートがあるかどうかのチェックだけを行うという使い方もできます。設定が済んだらサービスを有効化しておきましょう。

chkconfig yum-cron on /etc/rc.d/init.d/yum-cron start

cron で事足りるのでは?

ちょっと気になったのは上記のコマンドを実行してもデーモンらしきものがサーバに見当たらないこと。普通に考えて日時のアップデートは cron で実行すればよいはずなのですが、何で init スクリプトが用意されてるんだろう・・・・・・と思いながらスクリプトをの中身をのぞいてみてびっくり。init スクリプトは /var/lock/subsys/yum-cron という空ファイルを touch しているだけでした。

肝心の本体スクリプトは /etc/cron.daily/0yum.cron にあって、これが日時で呼び出されるのですが、冒頭が下記のようになっていて init スクリプトが作るファイルをみて起動するかしないかを決定していることが分かりました。こういうアーキテクチャもあるんですね。

/etc/cron.daily/0yum.cron

#!/bin/bash # Only run if this flag file is set (by /etc/rc.d/init.d/yum-cron) if [ ! -f /var/lock/subsys/yum-cron ]; then exit 0 fi ・・・・・・

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/6758
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン