简体   繁体   中英

Using Linux commands on files across multiple servers

I am new to Linux as a whole and so far I have not found a solution to this that isnt clumsy at best. I have a Windows background and so I am accustomed to running commands on one server that access text files on multiple systems in the same domain.

Example of what is processed in Windows:

find "Some text" \\ServerName01\c$\inetpub\*.log
find "Some text" \\ServerName02\c$\inetpub\*.log
find "Some text" \\ServerName03\c$\inetpub\*.log

Example of what I would LIKE to do in Linux:

sed 's/SomeText/OtherText/p //ServerName01/var/opt/somefolder/*.log
sed 's/SomeText/OtherText/p //ServerName02/var/opt/somefolder/*.log
sed 's/SomeText/OtherText/p //ServerName03/var/opt/somefolder/*.log

What is the best way to do the above in Linux, or is it even possible?

Thanks!

请参阅pssh和pscp套件,您可以在许多远程服务器上运行命令: http : //www.theether.org/pssh/

pssh or cssh would work

pssh provides a number of commands for executing against a group of computers, using SSH. It's most useful for operating on clusters of homogenously-configured hosts.

http://www.ubuntugeek.com/execute-commands-simultaneously-on-multiple-servers-using-psshcluster-sshmultixterm.html

there is a lot of way for doing it :

  • Via NFS/Fuse Mount, mount the logs directory on one system and you could do the same thing as windows (which automatically mount remote filesystem with the "\\\\")
  • use ssh,(that would be my prefered solution)

cat serverlist | xargs -i ssh {} " grep \\"some text\\" yourfilepaths"

which helps if you use ssh keys pairs

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM