<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ksh query in Operating System - HP-UX</title>
    <link>https://community.hpe.com/t5/operating-system-hp-ux/kshquery/m-p/6502616#M496586</link>
    <description>also im checking for the existence of 0 stale pps obviously, so it should come out of the loop if it has found 0 stale pp's and exit the program with the time stamp simple ?</description>
    <pubDate>Sat, 07 Jun 2014 08:42:47 GMT</pubDate>
    <dc:creator>Nadie_1</dc:creator>
    <dc:date>2014-06-07T08:42:47Z</dc:date>
    <item>
      <title>kshquery</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/kshquery/m-p/6502604#M496583</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hello team&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm writing a korn shell code on a unix box to check to see stale partition in all volume groups, my commands are correct but I'm just having problem running the loop correctly, basically first I just want to run a command which will start a sync process in the back ground, and then I just want to run a loop to check to see how many stale partitions are still left and keep runnign the loop until there are 0 stale partition? I also want to record time.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;below is my snippet, can you please correct my loop so it works, commands are find I've tested them and they work as expected. I think I'm not incrementing it properly and also my do/done are not closed properly ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;#!/usr/bin/ksh&lt;BR /&gt;set -x&lt;BR /&gt;Logfile=/tmp/time_recording.log&lt;BR /&gt;TMOUT=60&lt;BR /&gt;&lt;BR /&gt;# Start looping here to check stale partitions after migration&lt;BR /&gt;echo "Looping to check stale partitions, sync operation and time recording will start now on $(date)"&amp;gt;&amp;gt;${Logfile}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cc=0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ ${cc} -le ${TMOUT} ]; then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for vg in `lsvg -o|grep -v rootvg` ; do&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo "starting sync process for $vg"&amp;gt;&amp;gt;${Logfile}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo "nohup syncvg -v $vg &amp;amp;"&amp;gt;&amp;gt;${Logfile} # This command start sync process in the BG.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; typeset -i kk=0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for VG in `lsvg -o|grep -v rootvg` ; do&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=`lsvg $VG | grep STALE | awk '{ print $NF }'` # this filters stale pps OK&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while [ $count -gt 0 ] ; do # Trying to run a loop to check stale partitions here&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo "There are still $count stale PPs in the $VG vgs--please wait for sync to complete"&amp;gt;&amp;gt; ${Logfile}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (( kk = kk + 1 )) # Perhaps not incrementing it correctly ?&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done # not closing it properly somewhere ?&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ $? -eq 0 ]; then&lt;BR /&gt;echo "Sync operation has completed successfully for $vg and time recording has finished on $(date)"&amp;gt;&amp;gt; ${Logfile}&lt;BR /&gt;fi&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks in advance&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;P.S. This thread has been moved from HP-UX&amp;gt;General to HP-UX &amp;gt; languages. -HP Forum Moderator&lt;/P&gt;</description>
      <pubDate>Mon, 09 Jun 2014 02:37:13 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/kshquery/m-p/6502604#M496583</guid>
      <dc:creator>Nadie_1</dc:creator>
      <dc:date>2014-06-09T02:37:13Z</dc:date>
    </item>
    <item>
      <title>Re: ksh query</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/kshquery/m-p/6502612#M496584</link>
      <description>&lt;P&gt;The first thing you should do is to have a consistent indentation style of 3 space or so.&amp;nbsp; And indent blocks in if/then/else, while and for.&amp;nbsp; Then we can read your program.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; while [ $count -gt 0 ] ; do # Trying to run a loop to check stale partitions here&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo "There are still $count stale PPs in the $VG vgs--please wait for sync to complete"&amp;gt;&amp;gt; ${Logfile}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (( kk = kk + 1 )) # Perhaps not incrementing it correctly ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; done # not closing it properly somewhere?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This loop will not stop since you don't change $count nor do you compare with $kk.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 07 Jun 2014 08:35:18 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/kshquery/m-p/6502612#M496584</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2014-06-07T08:35:18Z</dc:date>
    </item>
    <item>
      <title>Re: ksh query</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/kshquery/m-p/6502614#M496585</link>
      <description>&lt;P&gt;Thanks Dennis for quick response, much appreciate it, i need to get this going soon, so apprecaite it, below is my simple snippet which works fine but I just want to add my sync command their first&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#!/bin/ksh&lt;/P&gt;&lt;P&gt;logfile=/tmp/log&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;# Where should I add my sync command ie "some_command" and then continue the loop to test out stale pps ?&lt;/P&gt;&lt;P&gt;and I'd like to put start and end date to a log file so we know how long it took ? Please assist&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;below snippet works like a charm but need to add above before i start the loop ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;while true&lt;BR /&gt;do&lt;BR /&gt;for vg in `lsvg -o|grep -v rootvg` ; do&lt;BR /&gt;count=`lsvg $vg | grep STALE | awk '{ print $NF }'`&lt;BR /&gt;if [ $count -ge 1 ] ; then&lt;BR /&gt;echo "There are $count stale PPs in the $vg VG"&lt;BR /&gt;fi&lt;BR /&gt;done&lt;BR /&gt;done&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 07 Jun 2014 08:40:38 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/kshquery/m-p/6502614#M496585</guid>
      <dc:creator>Nadie_1</dc:creator>
      <dc:date>2014-06-07T08:40:38Z</dc:date>
    </item>
    <item>
      <title>Re: ksh query</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/kshquery/m-p/6502616#M496586</link>
      <description>also im checking for the existence of 0 stale pps obviously, so it should come out of the loop if it has found 0 stale pp's and exit the program with the time stamp simple ?</description>
      <pubDate>Sat, 07 Jun 2014 08:42:47 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/kshquery/m-p/6502616#M496586</guid>
      <dc:creator>Nadie_1</dc:creator>
      <dc:date>2014-06-07T08:42:47Z</dc:date>
    </item>
    <item>
      <title>Re: ksh query</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/kshquery/m-p/6502652#M496587</link>
      <description>&lt;P&gt;(( sync_pass = 0 ))&lt;/P&gt;&lt;P&gt;while : true; do&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; (( total_count = 0 ))&lt;BR /&gt;&amp;nbsp;&amp;nbsp; for vg in $(lsvg -o | grep -v rootvg); do&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=$(lsvg $vg | awk '/STALE/ { print $NF }')&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ $count -ge 1 ] ; then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo "There are $count stale PPs in the $vg VG"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (( sync_pass += 1 ))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo "starting sync: $(date) (pass: $sync_pass)" &amp;gt;&amp;gt; $logfile&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sync_something&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo "ending sync:&amp;nbsp;&amp;nbsp; $(date) (pass: $sync_pass)" &amp;gt;&amp;gt; $logfile&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (( total_count += count ))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;BR /&gt;&amp;nbsp;&amp;nbsp; done&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if (( total_count == 0 )); then&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break&amp;nbsp; # no stale PPs&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; fi&lt;BR /&gt;done&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This should stop if it found no stale PP on one pass after checking on each VG.&lt;/P&gt;&lt;P&gt;Is this right?&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ $count -ge 1 ] ; then&lt;/P&gt;</description>
      <pubDate>Sat, 07 Jun 2014 09:40:31 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/kshquery/m-p/6502652#M496587</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2014-06-07T09:40:31Z</dc:date>
    </item>
    <item>
      <title>Re: ksh query</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/kshquery/m-p/6502668#M496588</link>
      <description>&lt;P&gt;Thanks Dennis, really appreciate ur knowledge sharing it has always helped me.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And you you are spot-on, once it has gone through the each vg and found 0 stale partition we want it to break the program.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I just tested the snippet you have kindly sent, it's working like a charm, thanks so much for your prompt help.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I'm always stuck in do/while done and can't just close them properly ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;but i will post you if the snippet has any hiccups, I think it works now as expected.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Keep well and talk to you soon&lt;/P&gt;</description>
      <pubDate>Sat, 07 Jun 2014 10:31:55 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/kshquery/m-p/6502668#M496588</guid>
      <dc:creator>Nadie_1</dc:creator>
      <dc:date>2014-06-07T10:31:55Z</dc:date>
    </item>
  </channel>
</rss>

