Solved

This is in UNIX and RHEL..need a script

Posted on 2013-05-13
4
445 Views
Last Modified: 2013-07-24
I need  a script to run commands on all servers and get the output:

I want a script in AIX and Linux

login to server run lsvg vgname
rootvg
appvg

lsvg rootvg
TOTAL PPs:      135 (34560 megabytes)

get the below value and divide by 1024 and do the same for appvg

and then I need to sum up the total and give the value as below


server12  totalstorage 120Gb
server23  totalstorage 248Gb

I will put all the server name in servername.txt

cat servername.txt

server12
server23
server34
etc

I need the same for RHEL as well

like vgdisplay anf then get then sum up all the vg's

I have a common user id on all servers with the same password and would be able to get the output

Please provide all the steps to for this script.
0
Comment
Question by:aixtutorial
  • 3
4 Comments
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 39163801
Hi,

let's start with AIX:

while read server; do
  ssh -n userid@$server 'lsvg -o | lsvg  -i' |\
    awk -v HO=$server -F"\\\(|m" '
           /TOTAL PPs:/ {SUM+=$2}
            END {printf "%s totalstorage %.0fGB\n",HO,SUM/1024}'
done < servername.AIX.txt


Working on the Linux version ...
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 39163813
Here it is:

while read server; do
  ssh -n user@$server 'vgdisplay' |\
   awk -v HO=$server '
          /VG Size/ {if($4=="TB") $3=$3*1024;  SUM+=$3}
            END {printf "%s totalstorage %.0fGB\n",HO,SUM}'
done < servername.Linux.txt


If you have Linux VGs < 1 GB or >= 1 PB please let me know!
0
 

Author Comment

by:aixtutorial
ID: 39166030
For AIX..is there anyway that I could append the output of all to a file

server12 totalstorage 471GB
server23 totalstorage 550GB
etc
0
 
LVL 68

Accepted Solution

by:
woolmilkporc earned 350 total points
ID: 39166079
Of course there is - use output redirection.

Either add it to the script at the end of the "done" line:

while read server; do
  ssh -n userid@$server 'lsvg -o | lsvg  -i' |\
    awk -v HO=$server -F"\\\(|m" '
           /TOTAL PPs:/ {SUM+=$2}
            END {printf "%s totalstorage %.0fGB\n",HO,SUM/1024}'
done < servername.AIX.txt >> outputfile.txt

or add it to the command line when starting the script.

Assuming you called the script myscript:

myscript >> outputfile.txt

On Linux it's exactly the same!
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Linux users are sometimes dumbfounded by the severe lack of documentation on a topic. Sometimes, the documentation is copious, but other times, you end up with some obscure "it varies depending on your distribution" over and over when searching for …
It’s 2016. Password authentication should be dead — or at least close to dying. But, unfortunately, it has not traversed Quagga stage yet. Using password authentication is like laundering hotel guest linens with a washboard — it’s Passé.
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question