我正在考虑一个 bash 脚本,它可以逐一登录到 10 个服务器,执行一些任务并将输出保存在我登录到服务器的源服务器的公共(public)文件中。更清楚地说,我正在使用测试服务器“test”,并且我需要使用 ssh 登录到其他服务器,例如 server1、server2、...server10。成功登录后,执行一些命令,例如 cat/root/serverstatus 并将输出保存到“测试”服务器中名为 serverstatus.txt 的通用文件中。我已经安装了 ssh keygen,并且不需要密码即可进入这些服务器。提前致谢。
最佳答案
来自测试服务器
for i in {1..10}; do ssh server${i} cat /root/serverstatus; done > file
如果您的用户不是 root,请在 cat 之前添加 sudo 对于通过 ssh 使用 sudo 进行的某些操作,您应该在 sudoers 文件中注释行“Defaults requiretty”
关于linux - 远程bash脚本执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32881911/