服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

如何在所有远程服务器上并行执行带有args的bash脚本(如果从远程服务器中的远程服务器)

请仔细阅读问题,然后给予解决scheme ……………. 我们在目录中有3个文件 myscript.sh(myscript.sh文件包含许多函数,并从serverlist.txt文件启动/停止所有对/单对,函数如 对于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 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 =新规则或相同的规则 我们正在执行我们的脚本在以下几个方面….. ./myscript.sh启动所有对新规则 ./myscript.sh start 192.168.20.13-192.168.20.21新规则 ./myscript.sh停止所有对或 ./myscript.sh stop 192.168.20.13-192.168.20.21 问题:实际上,它的执行很好,但是由于它是连续执行的,所以在所有IP对上执行需要更多的时间。 首先是192.168.20.21,然后是192.168.20.13,然后是192.168.20.34和192.168.20.22 …..当它遇到错误时,在该服务器上停止。 而不是在其余的IP对上执行。 我想在所有的服务器上并行执行myscript,如果出现错误,然后列出该服务器并执行furtur。 所以有没有任何解决scheme,我可以并行执行相同的脚本,而不用改变myscript。 所以请帮我找出正确的方法来做到这一点….

Logstash Grok匹配模式不工作,即使grok构造函数说没关系

我一直在构build一些grok模式来parsing/ var / log / secure日志文件,一切都工作正常。 我在http://grokconstructor.appspot.com/创buildGrok模式,然后在http://grokdebug.herokuapp.com/上testing它们,并且两个站点都显示完全匹配的模式。 我使用的是使用JAVA openjdk 1.8.0.65-2.b17的所有在CentOS 7.1上运行的logstash 2.1.1,elasticsearch 2.1.1和kibana 4.3.1。 然后我采取了这些模式,并在我的logstash服务器上使用filter来实现它们。 大部分filter都能正常工作,但SECURENETREG和SECURENETBADGE由于某种原因不匹配。 logstash –configtest显示没有问题,否则logstash正常运行,但是当我查看应该匹配那些Kibana模式的条目时,似乎没有任何parsing工作。 这里是我的模式文件/etc/logstash/patterns.d/secure-log.grok: SECURETIMESTAMP %{MONTH}%{SPACE}%{MONTHDAY} %{TIME} SECUREPROG %{PROG:program}(?:\[%{POSINT:pid}\])? SECUREHOST %{IPORHOST:host} SECUREBASE %{SECURETIMESTAMP:secure_timestamp}%{SPACE}%{SECUREHOST}%{SPACE}%{SECUREPROG}: SECURESU %{SECUREBASE} (runuser: |)%{PROG:pam_program}(?:\[%{POSINT:pid}\])? session %{WORD} for user %{USER:user}( by \(uid=%{NUMBER:su_caller_uid}\)|) SECURESUDORUN %{SECUREBASE}%{SPACE}(%{USER:user} : TTY=%{DATA} ; PWD=%{DATA} ; USER=%{USER:sudo_runas_user} ; COMMAND=%{GREEDYDATA:sudo_command}|\S+:%{SPACE}(TGT verified|error reading keytab %{GREEDYDATA}|authentication %{WORD} for […]