请仔细阅读问题,然后给予解决scheme …………….
我们在目录中有3个文件
对于start()函数:检查arg2是全对还是单IP对,然后启动它。
对于stop()函数:它检查arg2是全对还是单IP对然后停止它。
对于rules()函数:它检查arg3是否是new-rules或者same-rules然后拷贝它
对于put_files()函数:它与arg2一起使用,并检查arg2是全对还是单IP对
like: ./myscript.sh put_files all-pair or ./myscript.sh put_files 192.168.20.13-192.168.20.21
2. deployment_function文件:deploymet_function文件以pair的forms从server_list.txt文件中获取IP-Pair。
server_list.txt的conatin会以IP-Pair(C ++ Server-数据库服务器)的forms主机IP。
192.168.20.13-192.168.20.21
192.168.20.22-192.168.20.34 192.168.20.42-192.168.20.45
我的脚本的基本语法:
./myscript.sh arg1 arg2 arg3
其中,arg1 =开始或停止或放置文件
arg2 =全双或单个ip对
arg3 =新规则或相同的规则
我们正在执行我们的脚本在以下几个方面…..
问题:实际上,它的执行很好,但是由于它是连续执行的,所以在所有IP对上执行需要更多的时间。 首先是192.168.20.21,然后是192.168.20.13,然后是192.168.20.34和192.168.20.22 …..当它遇到错误时,在该服务器上停止。 而不是在其余的IP对上执行。
我想在所有的服务器上并行执行myscript,如果出现错误,然后列出该服务器并执行furtur。 所以有没有任何解决scheme,我可以并行执行相同的脚本,而不用改变myscript。 所以请帮我找出正确的方法来做到这一点….
你可以尝试使用pdsh(Parallel Distributed Shell)。 Pdsh是一个高效的multithreading远程shell客户端,它在多个远程主机上并行执行命令。 虽然在一段时间内还没有更新,但是当我在700台机器上运行脚本时,它仍然很好用。
PDSH