アクセラと+αな生活
アクセラとα350と共に過ごす気まぐれ日記です。
Firefox ブラウザ無料ダウンロード
2017年11月
≪10月  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30    12月≫
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
アンチウィルスソフトで定義ファイルの更新は非常に重要です。
定義ファイルが最新でないと、ウィルススキャンで検知できない可能性があるからです。
(もともと、Vineちゃんでネットはほとんど使用しないので、こだわる必要はないかもしれませんが。。。)

なので、VineちゃんのAVGも常に最新にすべく、更新をシェル化して自動実行するようにしてみました♪
これで、定義情報は自動で最新になります。
(いまいちAVGの動作が分からないのだけど、たぶん、大丈夫っぽい)
【自動更新の仕様に関して】
 まあ、個人で使用する分なので、こんなもんでしょうw
 ○更新は自動実行とする。
  cronで更新するシェルを起動させればOKかなw
 ○ログを出力する。
  いつ更新したのかくらいは把握しておかないといけませんのでw
 ○ログへ更新結果を出力する。
  せっかく更新しても、異常終了して更新できていない。。。では、意味がないのでw
 ○ログはハウスキーピング(定期的なログのローテーション、削除)を行う。
  ディスクを圧迫するほどの出力量じゃないけど、ローテーションくらいはしておきましょうw
 ○ハウスキーピングも自動実行とする。
  定義は自動更新だし、ハウスキーピングも自動でしたいですねw
 ○ログの出力先
  「/var/log/avg.log」で保存しておけば、何のログかは後で分かるでしょうね。。。きっとw


で、作成したシェルはこんな感じw
作成時間30分のわりには、まともに動いてくれてますww


#! /bin/sh
#################################
# AVG定義ファイル更新シェル
#
#################################

avg_log_dir=/var/log/
avg_log_name=avg.log
avg_log_file=$avg_log_dir$avg_log_name
avg_log_temp=$avg_log_dir'avg_temp.log'
avg_command=avgupdate

# ログ出力
echo '['`date +'%Y/%m/%d %T %Z'`']' `hostname` $avg_command':START' >> $avg_log_file
$avg_command >> $avg_log_temp
return_code=$?
head -n 4 $avg_log_temp >> $avg_log_file
tail -n 1 $avg_log_temp >> $avg_log_file
echo '['`date +'%Y/%m/%d %T %Z'`']' `hostname` $avg_command':END (RETURN CODE:'$return_code')' >> $avg_log_file

# 一時ログファイルの削除
rm $avg_log_temp



で、上記のシェルはこんな感じでログを出力します。

正常に更新した場合のログ
[yyyy/mm/dd hh:mm:ss JST] HOSTNAME avgupdate:START
AVG command line update
Copyright (c) 2009 AVG Technologies CZ

Running update.
Update was successfully completed.
[yyyy/mm/dd hh:mm:ss JST] HOSTNAME avgupdate:END (RETURN CODE:0)


正常に更新しなかった場合のログ
[yyyy/mm/dd hh:mm:ss JST] HOSTNAME avgupdate:START
AVG command line update
Copyright (c) 2009 AVG Technologies CZ

Running update.
Operation failed. The exit code could not be got because the thread or process is still alive.
[yyyy/mm/dd hh:mm:ss JST] HOSTNAME avgupdate:END (RETURN CODE:1)

異常があった場合でも、リターンコードとエラーのメッセージがログから拾えるので、簡単なな障害調査くらいまでは使えるかもww
(上の例ですと、「スレッドかプロセスが起動したままで、終了コードが取れなかった」という感じのようです)


【シェルの実行】
 上のシェルにある avgupdate (AVG の定義情報の更新)コマンドですが、rootでしか実行できません。
 なので root の cron に上のシェルを仕込んでおく必要があります。
 
 cron や crontab は自動実行する仕組みが分かっていないと、コマンドで設定するのは難しいですね。。。
 (cron などはネットで調べて下さい、ちなみに Linux の超初心者の私に質問されると、知恵熱がでます。。。><;)
 なので、今回は webmin で簡単に登録しちゃいましょうww
 (以下の手順で登録できちゃいます)
 
 1.webmin にアクセス(「https://<対象のホスト名>:10000」、root でログイン)し、「システム」-「予定済み Cron 作業」を選択。
 
 2.「新しいスケジュールのcronジョブを作成 」を選択
 
 3.「cron ジョブの作成」が表示されるので、
  「cron ジョブを実行するユーザ」に「root」を入力
  「コマンド」に対象のシェルを入力
  「実行する時間」でシェルの実行周期を入力
  で、「作成」ボタンをクリック。

  
  これで、自動実行の設定は完了になります。
  (いやー、webmin ってすばらしい♪)
  
【ログのハウスキーピング】
 こちらも、webmin で登録しちゃいましょう。
 
 1.webmin にアクセス(「https://<対象のホスト名>:10000」、root でログイン)し、「システム」-「Log File Rotation」を選択。
 
 2.「Add a new log file to rotate.」をクリック。
 
 3.「Log file paths」にローテーションを行うログファイル(/var/log/avg.log)、後の項目はローテーションの周期(Rotation schedule)、ログファイルの保存世代(Number of old logs to keep)などを設定すればOK。
 
  ※今回のシェルが作成するログファイル(/var/log/avg.log)は、ファイルがなければ勝手にファイルを作成してくれるので、ログのクリア(Truncate log file in place?)、ローテーション後のログファイル作成(Re-create log file after rotation?)は不要です。
 
 4.「作成」ボタンをクリックし、ログローテーションの設定を登録。
 
 これで、指定した周期でログをローテーションしてくれます。
  (いやー、webmin ってエクセレント♪)

 ※webmin のセットアップは下記を参照して下さい。
  VineLinux 4.2 で Webmin をセットアップ


【参考】
 ○AVG8.5のFAQ(AVG for Linux/FreeBSD)
  http://www.avg.com/jp.faq.num-1757#faq_1757 
コメント
この記事へのコメント
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by .
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。