ローカルのファイルとサーバーのファイルを比較してみた

ローカルPCのファイルのバックアップを取るために、サーバーにアップしている状況がありました。

手動でファイルをアップしているため、正常に同期が取れているか確認したかったので、

↓こちらのサイトを参考に、ローカルのファイルとサーバーのファイルを比較してみた。

diff <(ssh ユーザ名@ホスト名 'find /確認するPATH -type f | sort') <(find /確認するPATH -type f | sort)

順を追うため、ファイルに書き出して比較していく。

まずは、「.DS_Store」など、いらないファイルを削除しておく。

ローカルとサーバー(heteml)で、途中までのパスが違うので、そこは比較できるように、sed を使い置換して消しておく。

【サーバー(heteml)】
(ssh heteml 'find 【PATH】 -type f | sort') | sed s/"【PATHで違う部分】"/""/ >> ~/Desktop/test/file_heteml.txt
 
【ローカルPC】
(find 【PATH】 -type f | sort) | sed s/"【PATHで違う部分】"/""/ >> ~/Desktop/test/file_local.txt

↑これだと、なぜか、sort が効かないようだったので、改めて実行してみる。

sort ~/Desktop/test/file_local.txt >> ~/Desktop/test/file_local_sort.txt
sort ~/Desktop/test/file_heteml.txt >> ~/Desktop/test/file_heteml_sort.txt

Linuxコマンドの diff や、比較ソフトなどを使って、ローカルとサーバーのファイルリストを比較する。

diff ~/Desktop/test/file_local_sort.txt ~/Desktop/test/file_heteml_sort.txt >> ~/Desktop/test/file_diff.txt