在云环境下有非常多的服务器时,每台服务器的Hostname都不一样,有时需要/etc/hosts所有机器保持一致。如果通过ssh的方式逐一进行修改,那么对我们来说,工作量是非常巨大,且效率非常低下。可以通过如下方法批量修改。
假如有一台机器的hostname是master,我们修改master的/etc/hosts如下:
192.168.0.10 master
192.168.0.11 slave1
192.168.0.12 slave2
192.168.0.13 slave3
192.168.0.14 slave4
192.168.0.15 slave5
192.168.0.16 slave6
通过如下脚本来将master上的hosts文件复制到其他机器上:
export mn=slave1;scp /etc/hosts $mn:/home/vitria;ssh $mn 'sudo cp /home/vitria/hosts /etc'
export mn=slave2;scp /etc/hosts $mn:/home/vitria;ssh $mn 'sudo cp /home/vitria/hosts /etc'
export mn=slave3;scp /etc/hosts $mn:/home/vitria;ssh $mn 'sudo cp /home/vitria/hosts /etc'
export mn=slave4;scp /etc/hosts $mn:/home/vitria;ssh $mn 'sudo cp /home/vitria/hosts /etc'
export mn=slave5;scp /etc/hosts $mn:/home/vitria;ssh $mn 'sudo cp /home/vitria/hosts /etc'
export mn=slave6;scp /etc/hosts $mn:/home/vitria;ssh $mn 'sudo cp /home/vitria/hosts /etc'