ディレクトリファイルの比較

ディレクトリファイルの比較

まずは、ログのバックアップをつくる

mkdir log_bak

このディレクトリへ
/var/log/
のバックアップをとる

sudo cp -rp /var/log/* log_bak/

まずは tree コマンドでみようとしたけど
CentOS に tree コマンドが入っていない

sudo yum install tree

で tree コマンドをインストール

これで準備できたので
tree コマンドでバックアップしたディレクトリの
階層構造をみてみる

sudo tree log_bak/|head

すると結果は以下のようになる

log_bak/
├── VBoxGuestAdditions-uninstall.log
├── VBoxGuestAdditions.log
├── anaconda.ifcfg.log
├── anaconda.log
├── anaconda.program.log
├── anaconda.storage.log
├── anaconda.syslog
├── anaconda.yum.log
├── audit

ちなみに、元のディレクトリも同じように見れる

sudo tree /var/log/ | head

/var/log/
├── VBoxGuestAdditions-uninstall.log
├── VBoxGuestAdditions.log
├── anaconda.ifcfg.log
├── anaconda.log
├── anaconda.program.log
├── anaconda.storage.log
├── anaconda.syslog
├── anaconda.yum.log
├── audit

[/shell]

ほんとはもっと沢山でるけど多すぎるので
head コマンドをつかうことで
出力を10個までにしている

diff コマンドについては
diff – 2つのファイルの差分を出力 – Linuxコマンド

を参考に

オプションで -r を使えば
サブディレクトリも比較できるので
これを使えばディレクトリごと差分を調べられる

log_bak/ と /var/log/
の内容を比較するのなら

sudo diff -r log_bak/ /var/log/

とすればok

たくさんでてくるのでless コマンドと
合わせるほうがいいかもしれない

less コマンドの詳細は
【 less 】 テキスト・ファイルの内容を閲覧する

を参考に

簡単な使い方マニュアルとしては

スペースキーで次のページ
g で最初のページ
shift + g で最後のページ
qで less 終了となる

ちなみに、ファイルに違いがあるかを調べたいのなら
diff の -q オプションをつかうともっと楽に
調べられる

sudo diff -rq log_bak/ /var/log/| less

とすれば、結果だけ表示できる

これを実行すると

ファイルlog_bak/audit/audit.logと/var/log/audit/audit.logは違います
ファイルlog_bak/boot.logと/var/log/boot.logは違います
ファイルlog_bak/cronと/var/log/cronは違います
log_bak/だけに発見: cron-20150604
/var/log/だけに発見: cron-20150707
ファイルlog_bak/dmesgと/var/log/dmesgは違います
ファイルlog_bak/dmesg.oldと/var/log/dmesg.oldは違います
ファイルlog_bak/httpd/access_logと/var/log/httpd/access_logは違います
log_bak/httpdだけに発見: access_log-20150604
/var/log/httpdだけに発見: access_log-20150707
ファイルlog_bak/httpd/error_logと/var/log/httpd/error_logは違います
log_bak/httpdだけに発見: error_log-20150604
/var/log/httpdだけに発見: error_log-20150707
ファイルlog_bak/lastlogと/var/log/lastlogは違います
ファイルlog_bak/maillogと/var/log/maillogは違います
log_bak/だけに発見: maillog-20150604
/var/log/だけに発見: maillog-20150707
ファイルlog_bak/messagesと/var/log/messagesは違います
log_bak/だけに発見: messages-20150604
/var/log/だけに発見: messages-20150707
ファイルlog_bak/mysqld.logと/var/log/mysqld.logは違います
ファイルlog_bak/secureと/var/log/secureは違います
log_bak/だけに発見: secure-20150604
/var/log/だけに発見: secure-20150707
log_bak/だけに発見: spooler-20150604
/var/log/だけに発見: spooler-20150707
ファイルlog_bak/wtmpと/var/log/wtmpは違います
ファイルlog_bak/yum.logと/var/log/yum.logは違います

というように
違う部部だけ表示できる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です