<コマンド>
find /var/log/squid/ -type f -exec md5sum {}
find /mnt/backup/squid/ -type f -exec md5sum {}
にて同じファイルからmd5sumで取得しました。
<結果>
ff6bf6f97dc90b05a950015c17fb8146 /var/log/squid/squid.log-20130202.gz
ff6bf6f97dc90b05a950015c17fb8146 /mnt/backup/squid/squid.log-20130202.gz
2つのsquid.log-20130202.gz が同じものか比較したいのですが、
前のパス「/var/log/squid/」「 /mnt/backup/squid/」が異なるために
比較しても異なるファイルとみなされます。
cutコマンドでパイプしてみたりしたのですが、
今度は、どちら側のファイルmd5sum結果だったかわからなくなってしまいます。(mntか?varか?)
<cut対応>
find /var/log/squid/ -type f -exec md5sum {} \; | cut -d "/" -f1,5
→結果:ff6bf6f97dc90b05a950015c17fb8146 /squid.log-20130202.gz
<質問>
「/var/log/squid/」「 /mnt/backup/squid/」の部分が異なっていても、
ファイル名(squid.log-20130202.gz)とmd5sum値が同じなら、同じという結果を出すコマンドライン、
またはシェルスクリプトで対応できる方法を探しています。
ご教授お願いします。
No.3ベストアンサー
- 回答日時:
find /var/log/squid/ -type f -exec md5sum {} \; | cut -d "/" -f1,5 > varlog.txt
find /mnt/backup/squid/ -type f -exec md5sum {} \; | cut -d "/" -f1,5 >backup.txt
diff -U 0 varlog.txt backup.txt
結果はこんな感じで。
--- varlog.txt 2012-12-31 21:49:55.175255302 +0900
+++ backup.txt 2012-12-31 23:19:36.000000000 +0900
@@ -6 +6 @@
-ff6bf6f97dc90b05a950015c17fb8146 /squid.log-20130202.gz
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /squid.log-20130202.gz
先頭が-の行がvarlog.txtで、+の行がbackup.txt
>find /var/log/squid/ -type f -exec md5sum {} \; | cut -d "/" -f1,5 > varlog.txt
>find /mnt/backup/squid/ -type f -exec md5sum {} \; | cut -d "/" -f1,5 >backup.txt
>diff -U 0 varlog.txt backup.txt
教えて頂いた内容が一番簡単に結果を求めることが出来ました。
これなら、簡単に応用も効くし、やりたいこともできますね。
情報ありがとうございました。
No.2
- 回答日時:
> 2つのsquid.log-20130202.gz が同じものか比較したいのですが、
ファイルを比較したいだけなら何も md5 にこだわらずに
cd /var/log && find ./squid -type f -exec cmp '{}' '/mnt/backup/{}' \;
とか、いっそ rsync を --dry-run で動かしてみるとか手はあるけど?
>ファイルを比較したいだけなら何も md5 にこだわらずに
すみません。どうしても今回はmd5なので、md5で質問しました。
>cd /var/log && find ./squid -type f -exec cmp '{}' '/mnt/backup/{}' \;
たしかにこれもありですね。
情報ありがとうございました。
No.1
- 回答日時:
いまいち、やりたいことがよく判らないのですが……
ファイル名が同じでmd5sumが異なった場合はどうしたいのでしょう?
とりあえず、掲示されている条件で私がやるとしたら…
find /var/log/squid/ -type f -exec md5sum {}
find /mnt/backup/squid/ -type f -exec md5sum {}
で同じファイルにリダイレクトしてファイル化します。
# 後から実行する方は追記で。
sortコマンドでmd5ハッシュをキーにソートします。
a)1つ目のmd5ハッシュとファイル名(フルパス)をシェル変数に取り込み。
b)2つ目のmd5ハッシュとファイル名(フルパス)も別のシェル変数に取り込み。
c)md5ハッシュを比較。
c-1)違った場合はaに戻る(ファイル名の表示もする…んですかの?)
d)basenameコマンドでaで取得したファイル名とbで取得したファイル名を取り出して比較。
d-1)違った場合はaに戻る(ファイル名の表示もする…んですかの?)
e)同一のファイルとして表示(パス名も表示するんですかの?)
f)aに戻る。
って感じでしょうか……。
>ファイル名が同じでmd5sumが異なった場合はどうしたいのでしょう?
コピーした2つのファイルを比較して、md5値が異なれば違うファイルと判断できると思ったからです。
というか、そのやり方しかあまり思いつかなかったのです。
Linuxあまり詳しくないので…。
>やり方について
やり方の提示ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドメイン・サーバー・クラウドサービス VPSの会社から高負荷のためインスタンス停止のお知らせが来た。どうすれば・・・ 2 2023/02/20 16:03
- UNIX・Linux Kali Linuxで起動できない - Minimal BASH Like Line Editing 1 2022/06/03 13:14
- 統計学 生物統計学の質問 7 2022/05/17 13:59
- 数学 微分方程式の積分定数について 5 2023/07/13 08:39
- 数学 n乗はどうなったのでしょうか 1 2023/01/31 19:26
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- 数学 log底10真数1/75 ただし、 log底10真数2=0.3 log底10真数3=0.5とする 式 2 2022/05/30 22:51
- 数学 回答者どもがなかなか答えられないようなので、考えてみました。 ∫[0,π/2]log(sinx)/( 4 2022/08/31 16:30
- 化学 化学が得意な方に質問です。この問題の正解を教えて欲しいです。 【問題1】Log Kowの記述について 1 2022/09/26 23:44
- 数学 対数関数のグラフ y=log(2)2(x+1)のグラフを書け 模範解答は「1+log(2)(x+1) 2 2023/07/08 01:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サブシステムがロックします。
-
rsyncの実行時間
-
syslogからログが出力されなく...
-
Mac OS Xの使用時間のログをと...
-
FedoraCore6を使用し、PostFix...
-
ssl_request_logの必要性について
-
tailとgrepの組み合わせて、結...
-
2分毎にイベントログに警告がで...
-
squidのアクセスログについて
-
squid 起動できません
-
expectを用いた正規表現[]のgre...
-
" /var/log/messages "の中は何...
-
gethostbyname errorについて
-
DNSサーバを設定したのですがns...
-
パスワード設定していないユー...
-
同一のホスト名で何か問題があ...
-
コマンドでのFTP転送が進まない。
-
「DNSサーバーを自動的に取得す...
-
エラーメールで"too many hops"...
-
AWSでSSH接続をしたいのですが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IEのイベントログをイベントビ...
-
logrotateの再起動
-
squidのアクセスログについて
-
ssl_request_logの必要性について
-
イベントログ 「シェルが停止し...
-
expectを用いた正規表現[]のgre...
-
コマンドプロンプトでのcopyコ...
-
vsftpを設定し試したら書き込み...
-
reboot 実行時のログについて
-
ログローテート
-
WINDOWS NT システムログファイ...
-
rsyncの実行時間
-
syslogからログが出力されなく...
-
evalが使えない場合
-
Apacheのエラーログで、日本語...
-
auth.logが出力されない。
-
suコマンドのログ
-
SolarisからSyslogを転送する設...
-
tailとgrepの組み合わせて、結...
-
ssl_error_logについて
おすすめ情報