pass variable as sar argument


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting pass variable as sar argument
# 1  
Old 04-12-2012
pass variable as sar argument

I am trying to get the details of iowait for last hour using sar. When I give date as argument it works.
Code:
# sar -u -s 22:24:00 -e 23:24:00
Linux 2.6.35.13-26 (XX.server.com)   04/11/2012

10:30:03 PM       CPU     %user     %nice   %system   %iowait     %idle
10:40:04 PM       all      5.03      0.01      3.20     48.95     42.81
10:50:04 PM       all      3.58      0.02      3.88     56.53     36.00
Average:          all      4.30      0.02      3.53     52.74     39.41

10:58:34 PM       LINUX RESTART

11:10:01 PM       CPU     %user     %nice   %system   %iowait     %idle
11:20:01 PM       all      4.72      4.17      2.02     39.23     49.86
Average:          all      4.72      4.17      2.02     39.23     49.86

But when I pass hour and minute as variable it does not work. Variable contain the correct value.

Code:
# currhour=`date | awk {'print $4'} | cut -d: -f 1` ; currmin=`date | awk {'print $4'} | cut -d: -f 2`;  lasthour=`expr $currhour - 01` ; lasthour=`printf %02d $lasthour` ; sar -u -s $currhour:$currmin:00 -e $lasthour:$currmin:00
Linux 2.6.35.13-26 (XX.server.com)   04/11/2012

Variable outout
Code:
# currhour=`date | awk {'print $4'} | cut -d: -f 1` ; currmin=`date | awk {'print $4'} | cut -d: -f 2`;  lasthour=`expr $currhour - 01` ; lasthour=`printf %02d $lasthour` ; echo -e "currhour $currhour \n" ; echo -e "currmin $currmin \n" ; echo -e "lasthour $lasthour \n"

currhour 23

currmin 57

lasthour 22

# 2  
Old 04-12-2012
Quote:
But when I pass hour and minute as variable it does not work. Variable contain the correct value.
Please show us the lines where you create the parameters for sar and create the sar command line.
Please post what happens when it does not work.

Forget that, just found the command 3 feet off the right of the screen!
Code:
sar -u -s $currhour:$currmin:00 -e $lasthour:$currmin:00

There are quotes missing and (more importantly) the start and end are reversed:
Code:
sar -u -s "$lasthour:$currmin:00" -e "$currhour:$currmin:00"


Footnote:
Wherever you have a semicolon you could start a new line instead and make it so much easier to read.

Last edited by methyl; 04-12-2012 at 07:41 AM..
# 3  
Old 04-12-2012
Try in this way
PHP Code:
sar --$(date +%H:%M:%--date=-1hour) -$(date +%H:%M:%S
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to pass an argument to encrypted script having openssl ?

Hi, can it be possible to pass and argument to an encrypted script? for example.. Say I have this script which takes one input.. > cat aa #!/bin/ksh UNAME=$1 echo "Hi $UNAME.." > aa TEST Hi TEST.. Now I encrypted this code.. (6 Replies)
Discussion started by: akore83
6 Replies

2. Shell Programming and Scripting

Pass file as one of argument in shell

Hi, Is there any way that we can pass one file as one of the argument in shell script ? (1 Reply)
Discussion started by: Selva_2507
1 Replies

3. Shell Programming and Scripting

pass argument to html upload form

I am using an html form and a php upload script to upload files. HTML form <table width="500" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"> <tr> <form action="upload_ac.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> <td> <table... (1 Reply)
Discussion started by: anil510
1 Replies

4. Shell Programming and Scripting

How to pass a filename as a command line argument

Hi,I have a script which is given below :#!/bin/bash. ini_script.shdb2 connect to $DB_NAME user $DB2_UID using $DB2_PASSWORDfor file in `ls -1 ./sql/ddw/`do echo "Executing the file $file" echo db2 -tvf $filedonedb2 quiti want this script to accept directorie's names present in... (1 Reply)
Discussion started by: ektubbe
1 Replies

5. Shell Programming and Scripting

Need to pass argument

Hi, I need to pass the argument in my shell script as db_ubackup20111015*.log Scenario: I have backup log file location in /home/backup directory (more than 40 days). I need to check the log file of the latest one (tail . a. How I can retrieve the latest value other than passing... (1 Reply)
Discussion started by: prashanth_gs
1 Replies

6. Shell Programming and Scripting

Pass command line argument to variable

Hi, I had written a shell script to pass command line argument to variable in a function. Here is my code: main if ; then .$1 echo $1 get_input_file else echo "input file $1 is not available" fi get_input_file() { FILE = "$1" echo $FILE } (10 Replies)
Discussion started by: Poonamol
10 Replies

7. Shell Programming and Scripting

how to pass argument remotely

If I run the following command remotely after ssh than it works fine su - oracle -c "/oracle/product/102/db/bin/dbshut" But If I run the following command it doesn't work su - oracle -c "/oracle/product/102/db/bin/lsnrctl stop" Because I think there is a space is present between lsnrctl and... (1 Reply)
Discussion started by: madhusmita
1 Replies

8. UNIX for Dummies Questions & Answers

Pass argument to function

Hi, Can someone please explain to me how I can get a function to recognize a file given as an argument to a script. Suppose the script has the argument as follows: sh script file and the function is as follows: function display_file () { cat $1 } and it s then called #main program... (1 Reply)
Discussion started by: Knotty
1 Replies

9. UNIX for Dummies Questions & Answers

How do I pass a wild card as an argument

Hi, I would like to pass a wild card as part of an argument. But when I do it the script views the wild card as text. Example: sFile=MG1A* sort $sFile > $sFile.sorted What I get is MG1A*.sorted The problem is I am passed a series of files where the first few characters like "MG1A"... (2 Replies)
Discussion started by: eja
2 Replies

10. UNIX for Dummies Questions & Answers

pass argument to a filename

How can I use the value of an argument as a filename? Example: The argument for a process is 999. I would like the output of the process to be placed in a file called 999. I have tried using $$1, but that only assigns a unigue number. thanks JP (1 Reply)
Discussion started by: jpprial
1 Replies
Login or Register to Ask a Question