Treasure Linux
Home >> Treasure Linux >> aptとcronを使用して、定期的に自動アップデート(server編)  

      作業内容

  1. プログラムを定期的に自動実行する為には、crondが起動していなくてはいけません。
    多分、デフォルトで自動起動に設定されているとは思いますが、一応状態確認をします。

    $ su -
    Password: rootユーザのパスワードを入力します。
    # service crond status
    crond (pid XXXX) を実行中...
    ↑ 上記出力を確認します。


    上記のように表示されれば、crondは起動している状態です。("X"には任意の整数が入ります。)
    もし上記以外の表示がされた場合は、以下のコマンドで crondの起動と、自動起動の設定を行ないます。

    # service crond start
    crond を起動中: [ OK ]
    ↑ 上記出力を確認します。
    # chkconfig crond on


  2. 次に自動実行させたいプログラムを登録します。

    # crontab -e

    #========================================
    # apt Update
    #========================================

    0 4 * * * /root/cron\ shell/apt.sh >> /var/log/cron
    ↑ 上記内容を追加します。操作は viと同じです。

    # ls -l /var/spool/cron/root
    -rw------- 1 root root XXX X月 X XX:XX /var/spool/cron/root
    ↑ 上記ファイルが存在することを確認します。

    # crontab -l
    #========================================
    # apt Update
    #========================================

    0 4 * * * /root/cron\ shell/apt.sh >> /var/log/cron
    ↑ 上記出力を確認します。


    [crontab]の記述は【分 時 日 月 曜日 コマンド】という記述形式になっています。
    例えば、上記で追記した「0 4 * * * /root/cron\ shell/apt.sh >> /var/log/cron」という部分がありますが、
    これは「毎日04時00分にrootユーザで、[/root/cron shell/apt.sh]を実行し、出力を[/var/log/cron]に追記する。」
    という意味になります。

  3. 次にcronで使用するシェルを作製します。

    # mkdir /root/cron\ shell
    # vi /root/cron\ shell/apt.sh
    #!/bin/bash

    #========================================
    # Shell名 : apt.sh
    # 機能 : 日々、パッケージのアップデートを実施する。
    # 作成日 : 2006/08/06
    # 更新日 : -
    #========================================

    echo "#========================================";
    echo "# apt Update";
    echo "#========================================";

    apt-get update >> /var/log/cron 2>&1;
    apt-get -y dist-upgrade >> /var/log/cron 2>&1;

    exit;
    ↑ 上記内容を追記します。


  4. 作製した[/root/cron shell/apt.sh]に実行権を与えます。

    # chmod 700 /root/cron\ shell/apt.sh
    # ls -l /root/cron\ shell/apt.sh
    -rwx------ 1 root root XXX X月 X XX:XX /root/cron shell/apt.sh
    ↑ 上記出力を確認します。


  5. また、本作業を行なっている時に初めて知ったのですが、yum もしっかりcron設定されていますね。
    ただ、apt と yum を混在して使用するのは避けた方が良いと思うので、以下のコマンドで yum の状態を確認します。

    # service yum status
    夜間 yum 更新を無効にしました。
    ↑ 上記出力を確認します。


    もし、上記以外のメッセージが表示された場合、下記のコマンドを実行して下さい。

    # service yum stop
    夜間 yum 更新を無効にする [ OK ]
    ↑ 上記出力を確認します。


  6. 以上で、毎日04時00分にパッケージのアップデートが実施されます。


Home >> Treasure Linux >> aptとcronを使用して、定期的に自動アップデート(server編)