Sponsored Content
Top Forums Shell Programming and Scripting Grep remote multiple hosts output to local server Post 303039059 by charli1 on Saturday 21st of September 2019 12:55:11 PM
Old 09-21-2019
[Solved]Grep remote multiple hosts output to local server

Hello all,
i'm trying to create a report by greping a pattern on multiple remote hosts and creta a simple report,
actually i did this, is ther any better way to do this.
Code:
#!/bin/bash
for host in `cat RemoteHosts`
do
  ssh $host -C 'hostname 2>&1; grep ERROR /var/log/WebServer.log.2019-09-21 | wc -l' >> output
done
# joining each two lines together with single tab between
sed 'N;s/\n/ /' output > JoinedLinesReport.csv
#removing old output file
rm -f output

The report with the above script is the following,
Code:
server1   1345
server2 2345

Is there any way to create it like this?
Code:
HostName Count
server1	        1345
server2	        2345

EDIT: added a new sed to add the line i need.
Thanks any way.
Code:
sed -i '1s/^/HostName Count\n/'  JoinedLinesReport.csv


Last edited by Scrutinizer; 09-21-2019 at 03:28 PM.. Reason: Added code tags ....
This User Gave Thanks to charli1 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

FTP multiple files from remote server to local server

Hi, I am facing a weired problem in my FTP script. I want to transfer multiple files from remote server to local server everyday, using mget * in my script. I also, want to send an email for successful or failed FTP. My script works for file transfer, but it don't send any mail. There is... (2 Replies)
Discussion started by: berlin_germany
2 Replies

2. Shell Programming and Scripting

rsh help - getting the output of remote script to local server.

Hi, I have a script that runs for an hour. Have to run it on remote server and need the output it produces on the remote server to decide for failure or success. I run it through a Autosys Job which logs the outputs, both 1 & 2. I use the commands 1) rsh <SERVER> 'nohup /tmp/xyz.ksh &' 2)... (5 Replies)
Discussion started by: aster007
5 Replies

3. Shell Programming and Scripting

ssh to multiple hosts and saving the output in the local host

hi I have a script to login from a host "A" to a list of hosts in a file and perform some commands inside it...its somethin like this for i in `cat file` do ssh -t $i " command1 ; command2; ..." done I wanna save the outputs in a file in the current host "A" i.e from where I am... (3 Replies)
Discussion started by: ningy
3 Replies

4. UNIX for Advanced & Expert Users

remote hosts and wide output?

Hello forum: I am curious about some output that I get using an alias <command> on a remote host and I wondered if someone could point me in the right direction. Symptoms: Using "ssh -qi /path/to/key root@som.ipa.ddr.ess mail" (or variation of via alias) only gives a partial textual... (7 Replies)
Discussion started by: Habitual
7 Replies

5. Shell Programming and Scripting

Running a script on multiple remote hosts at once

I have a script on about 15 hosts that I need to run for each host whenever I want (not crontab). Problem is, this script takes 5-10 mins to run for each host. Is there a way I can run the script in parallel for all the hosts instead of 1 at a time? Also, I'm remotely running the script on the... (3 Replies)
Discussion started by: mrskittles99
3 Replies

6. Shell Programming and Scripting

Copy a file from local host to a list of remote hosts --- perl script

Hi friends, i need to prepare a script ( in perl) i have a file called "demo.exe" in my local unix host. i have a list of remote hosts in a file "hosts.txt" now i need to push "demo.exe" file to all the hosts in "hosts.txt" file. for this i need to prepare a script(in perl, but shell... (5 Replies)
Discussion started by: siva kumar
5 Replies

7. Shell Programming and Scripting

How to Append the output of a script running in remote server to a file in local server?

Hi guys, So i am in server1 and i have to login to server 2, 3,4 and run some script there(logging script) and output its result. What i am doing is running the script in server2 and outputting it to a file in server 2 and then Scp'ing the file to server1. Similarly i am doing this for other... (5 Replies)
Discussion started by: srkmish
5 Replies

8. Shell Programming and Scripting

Making output of data from remote hosts smaller

so i'm doing something similar to this: ssh myname@remotehost 'tail -800 /var/log/some.log' Now, as you can see, this is a lot of data to be passing back and forth over a network. Is there anything i can do to make the output smaller (zip it on the fly, compress?) and then when the data... (4 Replies)
Discussion started by: SkySmart
4 Replies

9. Shell Programming and Scripting

Ssh to multiple hosts and then run multiple for loops under remote session

Hello, I am trying to login to multiple servers and i have to run multiple loops to gather some details..Could you please help me out. I am specifically facing issues while running for loops. I have to run multiple for loops in else condition. but the below code is giving errors in for... (2 Replies)
Discussion started by: mohit_vardhani
2 Replies

10. Shell Programming and Scripting

awk remote multiple hosts print remote hostname and output

Hi all, i'm trying to gether multiple pattern on remote hosts, and trying to print hostname and the pattern, ssh remoteserver1 -C 'hostname 2>&1;cat /var/log/server1.log | awk -F ";" '"'"'{ print " "$2" "$5}'"'"'| sort | uniq -c | sort -g -r ' The output is the following, remoteserver1 ... (8 Replies)
Discussion started by: charli1
8 Replies
hosts.equiv(4)						     Kernel Interfaces Manual						    hosts.equiv(4)

NAME
hosts.equiv - A file containing the names of remote systems and users that can execute commands on the local system SYNOPSIS
/etc/hosts.equiv DESCRIPTION
The /etc/hosts.equiv file and the .rhosts file in a user's home directory contain the names of remote hosts and users that are equivalent to the local host or user. An equivalent host or user is allowed to access a local nonsuperuser account with the rsh command or rcp com- mand, or to log in to such an account without having to supply a password. The /etc/hosts.equiv file specifies equivalence for an entire system, while a user's .rhosts file specifies equivalence between that user and remote users. The local user and the target system exist in the same area as the hosts.equiv file. The .rhosts file must be owned by the user in whose home directory the file is located, or by the superuser. It cannot be a symbolic link. Each line, or entry, in hosts.equiv or .rhosts may consist of the following: A blank line. A comment (begins with a #). A host name (a string of any printable characters except newline, #, or white space). In addition, an NIS netgroup can be specified in place of the host name. A host name followed by white space and a user name. In addition, an NIS netgroup can be specified in place of the host name, user name, or both. A single plus (+) character. This means any host and user. The keyword NO_PLUS. This keyword disallows the use of the plus character (+) to match any host or user on a system-wide basis. By default, the line containing this keyword is a comment. Remove the com- ment character to disallow the use of the plus character. Entries in the hosts.equiv file are either positive or negative. Positive entries allow access; negative entries deny access. The following entries are positive: host name user name +@netgroup In addition, the plus sign (+) can be used in place of the host name or user name. In place of the host name, it means any remote host. In place of the user name, it means any user. The following entries are negative: -host name -user name -@netgroup To be allowed access or denied access, a user's remote host name and user name must match an entry in hosts.equiv or .rhosts. The hosts.equiv file is searched first; if a match is found, the search ends. Therefore, the order in which the positive and negative entries appear is important. If a match is not found, .rhosts is searched if it exists in the user's home directory. A host name or user name can match an entry in hosts.equiv in one of the following ways: The official host name (not an alias) of the remote host matches a host name in hosts.equiv. The remote user name matches a user name in hosts.equiv. If a user name parameter is included in the hosts.equiv file, this means that the remote user is a trusted user and is allowed to rlogin to any local user account without being prompted for a password. Otherwise, if the user name parameter is not specified in the hosts.equiv file, the name of the remote user must match that of the local user. If the remote user name does not match a user name in hosts.equiv, the remote user name matches the local user name. CAUTIONS
For security purposes, the files /etc/hosts.equiv and .rhosts should exist and be readable and writable only by the owner, even if they are empty. EXAMPLES
The following are sample entries in an /etc/hosts.equiv file: # Allows access to users on host1 and host2 that have accounts on this host: host1 host2 # Allows access to user johnson on host1 to any local user: host1 johnson # Allows access to all users on systems specified in netgroup chicago +@chicago # Denies access to users specified in netgroup finance on host5 host5 -@finance # Allows access to all users on all systems except root + -root RELATED INFORMATION
Commands: rcp(1), rlogin(1), rsh(1) Functions: ruserok(3). Files: netgroup(4) Daemons: rlogind(8), rshd(8) delim off hosts.equiv(4)
All times are GMT -4. The time now is 08:48 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy