我正在尝试设置一个应用程序,该应用程序要求将集群中所有服务器的条目输入到 /etc/hosts 中。我试图找出一种将所有主机推送到每台服务器上所有 /etc/hosts 文件的简单方法。我试过了,但收到一条错误消息,提示权限被拒绝。
for i in `cat servers`; do cat additional.hosts | ssh -T username@$i "sudo cat >> /etc/hosts";done
当然,additional.hosts 文件位于我的本地计算机上,需要传输到服务器。
有什么建议么?
答案1
这应该可以完成以下工作:
for i in `cat servers`; do cat additional.hosts | ssh -T username@$i "sudo bash -c 'cat >> /etc/hosts'";done