| 79 | ローカルの1ファイルと、リモートサーバにある1ファイルの差分チェック |
| 80 | $ ssh 192.168.1.1 "cat /usr/local/apache2/conf/extra/httpd-mpm.conf" | diff - ./httpd-mpm.conf |
| 81 | これは基本。ユーザ名を付ける時は、"username@192.168.0.1"とか指定してください。(><) |
| 82 | |
| 83 | |
| 84 | ローカルの1ファイルと、複数のリモートサーバそれぞれにある1ファイルの差分をチェック |
| 85 | $ for i in `seq 1 10`; do IP=192.168.1.${i}; echo "-----${IP}-----"; ssh ${IP} "cat /usr/local/apache2/conf/extra/httpd-mpm.conf" | diff -c - ./httpd-mpm.conf; done |
| 86 | ローカルに存在する httpd-mpm.conf と、192.168.1.1 ~ 192.168.1.10のサーバに存在する /usr/local/apache2/conf/extra/httpd-mpm.conf を diff -c で比較。 |
| 87 | |
| 88 | |
| 89 | ローカルにある特定ディレクトリの複数ファイル(一部除外)と、リモートサーバの特定ディレクトリに存在する複数ファイルにおいて、各ファイルの差分をチェック |
| 90 | $ for p in `find ./ -name '*.conf.20*' -prune -o -type f -print`; do echo "-----${p}-----"; ssh 192.168.1.1 "cat /usr/local/apache2/conf/${p}" | diff -c - ${p}; done |
| 91 | ローカルに存在するカレントディレクトリ(./)に存在する複数ファイル('*.conf.20*'のルールを除く全ファイル)と、192.168.1.1 のサーバに存在する /usr/local/apache2/conf/ ディレクトリ以下の複数ファイルそれぞれとの差分を diff -c でチェック |
| 92 | |
| 93 | |
| 94 | サーバ間でdiffをとる方法 |
| 95 | 2014/03/18 |
| 96 | |
| 97 | 複数サーバ間の設定ファイルを比較したいときはこうすればよいです。 |
| 98 | ローカルファイルとリモートサーバのファイルを比較 |
| 99 | |
| 100 | $ ssh remotename cat /etc/hosts | diff /etc/hosts - |
| 101 | こういう書き方もあります。 |
| 102 | $ diff <(ssh remotename cat /etc/hosts) /etc/hosts |
| 103 | リモートサーバ間のファイルを比較 |
| 104 | |
| 105 | $ diff <(ssh remote1 cat /etc/hosts) <(ssh remote2 cat /etc/hosts) |