|
@@ -1,21 +1,21 @@
|
|
|
#!/bin/sh
|
|
|
-# $Id: c_smrrds.sh,v 1.21 2003/10/12 17:26:10 dijkstra Exp $
|
|
|
+# $Id: c_smrrds.sh,v 1.24 2003/12/21 13:23:15 dijkstra Exp $
|
|
|
|
|
|
#
|
|
|
# Copyright (c) 2001-2003 Willem Dijkstra
|
|
|
# All rights reserved.
|
|
|
-#
|
|
|
+#
|
|
|
# Redistribution and use in source and binary forms, with or without
|
|
|
# modification, are permitted provided that the following conditions
|
|
|
# are met:
|
|
|
-#
|
|
|
+#
|
|
|
# - Redistributions of source code must retain the above copyright
|
|
|
# notice, this list of conditions and the following disclaimer.
|
|
|
# - Redistributions in binary form must reproduce the above
|
|
|
# copyright notice, this list of conditions and the following
|
|
|
# disclaimer in the documentation and/or other materials provided
|
|
|
# with the distribution.
|
|
|
-#
|
|
|
+#
|
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
@@ -29,39 +29,39 @@
|
|
|
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
|
# POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
|
|
-# symon datafiles "make" file. Valid arguments:
|
|
|
-# all Makes all files for active interfaces and disks
|
|
|
-# mem Make memory file
|
|
|
-# cpu? Make cpu file
|
|
|
-# pf Make pf file
|
|
|
-# mbuf Make mbuf file
|
|
|
-
|
|
|
# --- user configuration starts here
|
|
|
-INTERVAL=`grep SYMON_INTERVAL ../symon/symon.h 2>/dev/null | cut -f3 -d\ `
|
|
|
INTERVAL=${INTERVAL:-5}
|
|
|
-RRD_ARGS="--step=$INTERVAL --start=0"
|
|
|
# --- user configuration ends here
|
|
|
|
|
|
# get arguments
|
|
|
+select_interval=""
|
|
|
for i
|
|
|
do
|
|
|
case $i in
|
|
|
+interval)
|
|
|
+ select_interval="yes"
|
|
|
+ ;;
|
|
|
child)
|
|
|
child=1
|
|
|
;;
|
|
|
-oneday)
|
|
|
+oneday)
|
|
|
config=$i
|
|
|
# today only RRA setup:
|
|
|
# - 1 day of 5 second samples = 17280 x 5 second samples
|
|
|
- RRA_SETUP=" RRA:AVERAGE:0.5:1:17280
|
|
|
- RRA:MAX:0.5:1:17280
|
|
|
+ RRA_SETUP=" RRA:AVERAGE:0.5:1:17280
|
|
|
+ RRA:MAX:0.5:1:17280
|
|
|
RRA:MIN:0.5:1:17280"
|
|
|
- if [ X"$child" == "X" ]; then
|
|
|
+ if [ X"$child" == "X" ]; then
|
|
|
echo "RRDs will only contain a single day of data"
|
|
|
fi
|
|
|
;;
|
|
|
*)
|
|
|
- args="$args $i"
|
|
|
+ if [ -n "$select_interval" ]; then
|
|
|
+ INTERVAL=$i
|
|
|
+ select_interval=""
|
|
|
+ else
|
|
|
+ args="$args $i"
|
|
|
+ fi
|
|
|
;;
|
|
|
esac
|
|
|
done
|
|
@@ -69,20 +69,20 @@ done
|
|
|
if [ X"$RRA_SETUP" == "X" ]; then
|
|
|
# default RRA setup:
|
|
|
# - 2 days of 5 second samples = 34560 x 5 second samples
|
|
|
-# - 14 days of 30 minutes samples = 672 x 360 x 5 second samples
|
|
|
+# - 14 days of 30 minutes samples = 672 x 360 x 5 second samples
|
|
|
# - 50 days of 2 hour samples = 600 x 1440 x 5 second samples
|
|
|
# - 600 days of 1 day samples = 600 x 17280 x 5 second samples
|
|
|
-RRA_SETUP=" RRA:AVERAGE:0.5:1:34560
|
|
|
- RRA:AVERAGE:0.5:360:672
|
|
|
- RRA:AVERAGE:0.5:1440:600
|
|
|
- RRA:AVERAGE:0.5:17280:600
|
|
|
- RRA:MAX:0.5:1:34560
|
|
|
- RRA:MAX:0.5:360:672
|
|
|
- RRA:MAX:0.5:1440:600
|
|
|
- RRA:MAX:0.5:17280:600
|
|
|
- RRA:MIN:0.5:1:34560
|
|
|
- RRA:MIN:0.5:360:672
|
|
|
- RRA:MIN:0.5:1440:600
|
|
|
+RRA_SETUP=" RRA:AVERAGE:0.5:1:34560
|
|
|
+ RRA:AVERAGE:0.5:360:672
|
|
|
+ RRA:AVERAGE:0.5:1440:600
|
|
|
+ RRA:AVERAGE:0.5:17280:600
|
|
|
+ RRA:MAX:0.5:1:34560
|
|
|
+ RRA:MAX:0.5:360:672
|
|
|
+ RRA:MAX:0.5:1440:600
|
|
|
+ RRA:MAX:0.5:17280:600
|
|
|
+ RRA:MIN:0.5:1:34560
|
|
|
+ RRA:MIN:0.5:360:672
|
|
|
+ RRA:MIN:0.5:1440:600
|
|
|
RRA:MIN:0.5:17280:600"
|
|
|
fi
|
|
|
|
|
@@ -102,16 +102,48 @@ addsuffix() {
|
|
|
echo $newlist | cut -b2-
|
|
|
}
|
|
|
|
|
|
+DISKS=`addsuffix $DISKS [0-9]`
|
|
|
+INTERFACES=`addsuffix $INTERFACES [0-9]`
|
|
|
+VIRTUALINTERFACES=`addsuffix $VIRTUALINTERFACES \\.\\*`
|
|
|
+
|
|
|
this=$0
|
|
|
if [ X"$1$2$3$4$5$6$7$8$9" == "X" ]; then
|
|
|
- sh $this help
|
|
|
+ cat <<EOF
|
|
|
+Create rrd files for symux.
|
|
|
+
|
|
|
+Usage: $0 [oneday] [interval <seconds>] all | cpu0 | mem |
|
|
|
+ pf | mbuf | debug | proc_<process> |
|
|
|
+ <if> | <io> | sensor[0-25]
|
|
|
+
|
|
|
+Where:
|
|
|
+oneday = modify rrds to only contain one day of information
|
|
|
+seconds = modify rrds for non standard monitoring interval
|
|
|
+process = the name of a process as specified in sy{mon,mux}.conf
|
|
|
+ e.g. proc(httpd) -> proc_httpd
|
|
|
+
|
|
|
+if= `echo $INTERFACES|
|
|
|
+ awk 'BEGIN {FS="|"}
|
|
|
+ {for (i=1; i<=NF; i++) {
|
|
|
+ printf("%s|",$i);
|
|
|
+ if ((i%6)==0) {
|
|
|
+ printf("%s","\n\t")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ print " ";}'`
|
|
|
+io= `echo $DISKS|
|
|
|
+ awk 'BEGIN {FS="|"}
|
|
|
+ {for (i=1; i<=NF; i++) {
|
|
|
+ printf("%s|",$i);
|
|
|
+ if ((i%6)==0) {
|
|
|
+ printf("%s","\n\t")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ print " ";}'`
|
|
|
+
|
|
|
+EOF
|
|
|
exit 1;
|
|
|
fi
|
|
|
|
|
|
-DISKS=`addsuffix $DISKS [0-9]`
|
|
|
-INTERFACES=`addsuffix $INTERFACES [0-9]`
|
|
|
-VIRTUALINTERFACES=`addsuffix $VIRTUALINTERFACES \\.\\*`
|
|
|
-
|
|
|
for i in $args
|
|
|
do
|
|
|
# add if_*.rrd if it is an interface
|
|
@@ -127,15 +159,17 @@ if [ -f $i ]; then
|
|
|
i="done"
|
|
|
fi
|
|
|
|
|
|
+RRD_ARGS="--step=$INTERVAL --start=0"
|
|
|
+
|
|
|
case $i in
|
|
|
|
|
|
all)
|
|
|
echo "Creating rrd files for {cpu0|mem|disks|interfaces|pf|mbuf}"
|
|
|
- sh $this child $config cpu0 mem
|
|
|
- sh $this child $config interfaces
|
|
|
- sh $this child $config disks
|
|
|
- sh $this child $config pf
|
|
|
- sh $this child $config mbuf
|
|
|
+ sh $this interval $INTERVAL child $config cpu0 mem
|
|
|
+ sh $this interval $INTERVAL child $config interfaces
|
|
|
+ sh $this interval $INTERVAL child $config disks
|
|
|
+ sh $this interval $INTERVAL child $config pf
|
|
|
+ sh $this interval $INTERVAL child $config mbuf
|
|
|
;;
|
|
|
|
|
|
if|interfaces)
|
|
@@ -151,11 +185,11 @@ io|disks)
|
|
|
cpu[0-9].rrd)
|
|
|
# Build cpu file
|
|
|
rrdtool create $i $RRD_ARGS \
|
|
|
- DS:user:GAUGE:5:0:100 \
|
|
|
- DS:nice:GAUGE:5:0:100 \
|
|
|
- DS:system:GAUGE:5:0:100 \
|
|
|
- DS:interrupt:GAUGE:5:0:100 \
|
|
|
- DS:idle:GAUGE:5:0:100 \
|
|
|
+ DS:user:GAUGE:$INTERVAL:0:100 \
|
|
|
+ DS:nice:GAUGE:$INTERVAL:0:100 \
|
|
|
+ DS:system:GAUGE:$INTERVAL:0:100 \
|
|
|
+ DS:interrupt:GAUGE:$INTERVAL:0:100 \
|
|
|
+ DS:idle:GAUGE:$INTERVAL:0:100 \
|
|
|
$RRA_SETUP
|
|
|
echo "$i created"
|
|
|
;;
|
|
@@ -163,7 +197,7 @@ cpu[0-9].rrd)
|
|
|
sensor*.rrd)
|
|
|
# Build sensor file
|
|
|
rrdtool create $i $RRD_ARGS \
|
|
|
- DS:value:GAUGE:5:-U:U \
|
|
|
+ DS:value:GAUGE:$INTERVAL:-U:U \
|
|
|
$RRA_SETUP
|
|
|
echo "$i created"
|
|
|
;;
|
|
@@ -171,11 +205,11 @@ sensor*.rrd)
|
|
|
mem.rrd)
|
|
|
# Build memory file
|
|
|
rrdtool create $i $RRD_ARGS \
|
|
|
- DS:real_active:GAUGE:5:0:U \
|
|
|
- DS:real_total:GAUGE:5:0:U \
|
|
|
- DS:free:GAUGE:5:0:U \
|
|
|
- DS:swap_used:GAUGE:5:0:U \
|
|
|
- DS:swap_total:GAUGE:5:0:U \
|
|
|
+ DS:real_active:GAUGE:$INTERVAL:0:U \
|
|
|
+ DS:real_total:GAUGE:$INTERVAL:0:U \
|
|
|
+ DS:free:GAUGE:$INTERVAL:0:U \
|
|
|
+ DS:swap_used:GAUGE:$INTERVAL:0:U \
|
|
|
+ DS:swap_total:GAUGE:$INTERVAL:0:U \
|
|
|
$RRA_SETUP
|
|
|
echo "$i created"
|
|
|
;;
|
|
@@ -183,11 +217,11 @@ mem.rrd)
|
|
|
if_*.rrd)
|
|
|
# Build interface files
|
|
|
rrdtool create $i $RRD_ARGS \
|
|
|
- DS:ipackets:COUNTER:5:U:U DS:opackets:COUNTER:5:U:U \
|
|
|
- DS:ibytes:COUNTER:5:U:U DS:obytes:COUNTER:5:U:U \
|
|
|
- DS:imcasts:COUNTER:5:U:U DS:omcasts:COUNTER:5:U:U \
|
|
|
- DS:ierrors:COUNTER:5:U:U DS:oerrors:COUNTER:5:U:U \
|
|
|
- DS:collisions:COUNTER:5:U:U DS:drops:COUNTER:5:U:U \
|
|
|
+ DS:ipackets:COUNTER:$INTERVAL:U:U DS:opackets:COUNTER:$INTERVAL:U:U \
|
|
|
+ DS:ibytes:COUNTER:$INTERVAL:U:U DS:obytes:COUNTER:$INTERVAL:U:U \
|
|
|
+ DS:imcasts:COUNTER:$INTERVAL:U:U DS:omcasts:COUNTER:$INTERVAL:U:U \
|
|
|
+ DS:ierrors:COUNTER:$INTERVAL:U:U DS:oerrors:COUNTER:$INTERVAL:U:U \
|
|
|
+ DS:collisions:COUNTER:$INTERVAL:U:U DS:drops:COUNTER:$INTERVAL:U:U \
|
|
|
$RRA_SETUP
|
|
|
echo "$i created"
|
|
|
;;
|
|
@@ -195,49 +229,49 @@ if_*.rrd)
|
|
|
debug.rrd)
|
|
|
# Build debug file
|
|
|
rrdtool create $i $RRD_ARGS \
|
|
|
- DS:debug0:GAUGE:5:U:U DS:debug1:GAUGE:5:U:U \
|
|
|
- DS:debug2:GAUGE:5:U:U DS:debug3:GAUGE:5:U:U \
|
|
|
- DS:debug4:GAUGE:5:U:U DS:debug5:GAUGE:5:U:U \
|
|
|
- DS:debug6:GAUGE:5:U:U DS:debug7:GAUGE:5:U:U \
|
|
|
- DS:debug8:GAUGE:5:U:U DS:debug9:GAUGE:5:U:U \
|
|
|
- DS:debug10:GAUGE:5:U:U DS:debug11:GAUGE:5:U:U \
|
|
|
- DS:debug12:GAUGE:5:U:U DS:debug13:GAUGE:5:U:U \
|
|
|
- DS:debug14:GAUGE:5:U:U DS:debug15:GAUGE:5:U:U \
|
|
|
- DS:debug16:GAUGE:5:U:U DS:debug17:GAUGE:5:U:U \
|
|
|
- DS:debug18:GAUGE:5:U:U DS:debug19:GAUGE:5:U:U \
|
|
|
+ DS:debug0:GAUGE:$INTERVAL:U:U DS:debug1:GAUGE:$INTERVAL:U:U \
|
|
|
+ DS:debug2:GAUGE:$INTERVAL:U:U DS:debug3:GAUGE:$INTERVAL:U:U \
|
|
|
+ DS:debug4:GAUGE:$INTERVAL:U:U DS:debug5:GAUGE:$INTERVAL:U:U \
|
|
|
+ DS:debug6:GAUGE:$INTERVAL:U:U DS:debug7:GAUGE:$INTERVAL:U:U \
|
|
|
+ DS:debug8:GAUGE:$INTERVAL:U:U DS:debug9:GAUGE:$INTERVAL:U:U \
|
|
|
+ DS:debug10:GAUGE:$INTERVAL:U:U DS:debug11:GAUGE:$INTERVAL:U:U \
|
|
|
+ DS:debug12:GAUGE:$INTERVAL:U:U DS:debug13:GAUGE:$INTERVAL:U:U \
|
|
|
+ DS:debug14:GAUGE:$INTERVAL:U:U DS:debug15:GAUGE:$INTERVAL:U:U \
|
|
|
+ DS:debug16:GAUGE:$INTERVAL:U:U DS:debug17:GAUGE:$INTERVAL:U:U \
|
|
|
+ DS:debug18:GAUGE:$INTERVAL:U:U DS:debug19:GAUGE:$INTERVAL:U:U \
|
|
|
$RRA_SETUP
|
|
|
echo "$i created"
|
|
|
;;
|
|
|
proc_*.rrd)
|
|
|
# Build proc file
|
|
|
rrdtool create $i $RRD_ARGS \
|
|
|
- DS:number:GAUGE:5:0:U DS:uticks:GAUGE:5:0:U \
|
|
|
- DS:sticks:GAUGE:5:0:U DS:iticks:GAUGE:5:0:U \
|
|
|
- DS:cpusec:GAUGE:5:0:U DS:cpupct:GAUGE:5:0:100 \
|
|
|
- DS:procsz:GAUGE:5:0:U DS:rsssz:GAUGE:5:0:U \
|
|
|
+ DS:number:GAUGE:$INTERVAL:0:U DS:uticks:GAUGE:$INTERVAL:0:U \
|
|
|
+ DS:sticks:GAUGE:$INTERVAL:0:U DS:iticks:GAUGE:$INTERVAL:0:U \
|
|
|
+ DS:cpusec:GAUGE:$INTERVAL:0:U DS:cpupct:GAUGE:$INTERVAL:0:100 \
|
|
|
+ DS:procsz:GAUGE:$INTERVAL:0:U DS:rsssz:GAUGE:$INTERVAL:0:U \
|
|
|
$RRA_SETUP
|
|
|
echo "$i created"
|
|
|
;;
|
|
|
-
|
|
|
+
|
|
|
pf.rrd)
|
|
|
# Build pf file
|
|
|
rrdtool create $i $RRD_ARGS \
|
|
|
- DS:bytes_v4_in:DERIVE:5:0:U DS:bytes_v4_out:DERIVE:5:0:U \
|
|
|
- DS:bytes_v6_in:DERIVE:5:0:U DS:bytes_v6_out:DERIVE:5:0:U \
|
|
|
- DS:packets_v4_in_pass:DERIVE:5:0:U DS:packets_v4_in_drop:DERIVE:5:0:U \
|
|
|
- DS:packets_v4_out_pass:DERIVE:5:0:U DS:packets_v4_out_drop:DERIVE:5:0:U \
|
|
|
- DS:packets_v6_in_pass:DERIVE:5:0:U DS:packets_v6_in_drop:DERIVE:5:0:U \
|
|
|
- DS:packets_v6_out_pass:DERIVE:5:0:U DS:packets_v6_out_drop:DERIVE:5:0:U \
|
|
|
- DS:states_entries:ABSOLUTE:5:0:U \
|
|
|
- DS:states_searches:DERIVE:5:0:U \
|
|
|
- DS:states_inserts:DERIVE:5:0:U \
|
|
|
- DS:states_removals:DERIVE:5:0:U \
|
|
|
- DS:counters_match:DERIVE:5:0:U \
|
|
|
- DS:counters_badoffset:DERIVE:5:0:U \
|
|
|
- DS:counters_fragment:DERIVE:5:0:U \
|
|
|
- DS:counters_short:DERIVE:5:0:U \
|
|
|
- DS:counters_normalize:DERIVE:5:0:U \
|
|
|
- DS:counters_memory:DERIVE:5:0:U \
|
|
|
+ DS:bytes_v4_in:DERIVE:$INTERVAL:0:U DS:bytes_v4_out:DERIVE:$INTERVAL:0:U \
|
|
|
+ DS:bytes_v6_in:DERIVE:$INTERVAL:0:U DS:bytes_v6_out:DERIVE:$INTERVAL:0:U \
|
|
|
+ DS:packets_v4_in_pass:DERIVE:$INTERVAL:0:U DS:packets_v4_in_drop:DERIVE:$INTERVAL:0:U \
|
|
|
+ DS:packets_v4_out_pass:DERIVE:$INTERVAL:0:U DS:packets_v4_out_drop:DERIVE:$INTERVAL:0:U \
|
|
|
+ DS:packets_v6_in_pass:DERIVE:$INTERVAL:0:U DS:packets_v6_in_drop:DERIVE:$INTERVAL:0:U \
|
|
|
+ DS:packets_v6_out_pass:DERIVE:$INTERVAL:0:U DS:packets_v6_out_drop:DERIVE:$INTERVAL:0:U \
|
|
|
+ DS:states_entries:ABSOLUTE:$INTERVAL:0:U \
|
|
|
+ DS:states_searches:DERIVE:$INTERVAL:0:U \
|
|
|
+ DS:states_inserts:DERIVE:$INTERVAL:0:U \
|
|
|
+ DS:states_removals:DERIVE:$INTERVAL:0:U \
|
|
|
+ DS:counters_match:DERIVE:$INTERVAL:0:U \
|
|
|
+ DS:counters_badoffset:DERIVE:$INTERVAL:0:U \
|
|
|
+ DS:counters_fragment:DERIVE:$INTERVAL:0:U \
|
|
|
+ DS:counters_short:DERIVE:$INTERVAL:0:U \
|
|
|
+ DS:counters_normalize:DERIVE:$INTERVAL:0:U \
|
|
|
+ DS:counters_memory:DERIVE:$INTERVAL:0:U \
|
|
|
$RRA_SETUP
|
|
|
echo "$i created"
|
|
|
;;
|
|
@@ -245,14 +279,14 @@ pf.rrd)
|
|
|
mbuf.rrd)
|
|
|
# Build mbuf file
|
|
|
rrdtool create $i $RRD_ARGS \
|
|
|
- DS:totmbufs:GAUGE:5:0:U DS:mt_data:GAUGE:5:0:U \
|
|
|
- DS:mt_oobdata:GAUGE:5:0:U DS:mt_control:GAUGE:5:0:U \
|
|
|
- DS:mt_header:GAUGE:5:0:U DS:mt_ftable:GAUGE:5:0:U \
|
|
|
- DS:mt_soname:GAUGE:5:0:U DS:mt_soopts:GAUGE:5:0:U \
|
|
|
- DS:pgused:GAUGE:5:0:U DS:pgtotal:GAUGE:5:0:U \
|
|
|
- DS:totmem:GAUGE:5:0:U DS:totpct:GAUGE:5:0:100 \
|
|
|
- DS:m_drops:COUNTER:5:0:U DS:m_wait:COUNTER:5:0:U \
|
|
|
- DS:m_drain:COUNTER:5:0:U \
|
|
|
+ DS:totmbufs:GAUGE:$INTERVAL:0:U DS:mt_data:GAUGE:$INTERVAL:0:U \
|
|
|
+ DS:mt_oobdata:GAUGE:$INTERVAL:0:U DS:mt_control:GAUGE:$INTERVAL:0:U \
|
|
|
+ DS:mt_header:GAUGE:$INTERVAL:0:U DS:mt_ftable:GAUGE:$INTERVAL:0:U \
|
|
|
+ DS:mt_soname:GAUGE:$INTERVAL:0:U DS:mt_soopts:GAUGE:$INTERVAL:0:U \
|
|
|
+ DS:pgused:GAUGE:$INTERVAL:0:U DS:pgtotal:GAUGE:$INTERVAL:0:U \
|
|
|
+ DS:totmem:GAUGE:$INTERVAL:0:U DS:totpct:GAUGE:$INTERVAL:0:100 \
|
|
|
+ DS:m_drops:COUNTER:$INTERVAL:0:U DS:m_wait:COUNTER:$INTERVAL:0:U \
|
|
|
+ DS:m_drain:COUNTER:$INTERVAL:0:U \
|
|
|
$RRA_SETUP
|
|
|
echo "$i created"
|
|
|
;;
|
|
@@ -260,9 +294,9 @@ mbuf.rrd)
|
|
|
io_*.rrd)
|
|
|
# Build disk files
|
|
|
rrdtool create $i $RRD_ARGS \
|
|
|
- DS:transfers:COUNTER:5:U:U \
|
|
|
- DS:seeks:COUNTER:5:U:U \
|
|
|
- DS:bytes:COUNTER:5:U:U \
|
|
|
+ DS:transfers:COUNTER:$INTERVAL:U:U \
|
|
|
+ DS:seeks:COUNTER:$INTERVAL:U:U \
|
|
|
+ DS:bytes:COUNTER:$INTERVAL:U:U \
|
|
|
$RRA_SETUP
|
|
|
echo "$i created"
|
|
|
;;
|
|
@@ -273,31 +307,6 @@ io_*.rrd)
|
|
|
*)
|
|
|
# Default match
|
|
|
echo $i - unknown
|
|
|
- cat <<EOF
|
|
|
-Usage: $0 [oneday] all
|
|
|
- $0 [oneday] cpu0|mem|pf|mbuf|debug|proc|<if>|<io>|sensor[0-25]
|
|
|
-
|
|
|
-Where:
|
|
|
-if= `echo $INTERFACES|
|
|
|
- awk 'BEGIN {FS="|"}
|
|
|
- {for (i=1; i<=NF; i++) {
|
|
|
- printf("%s|",$i);
|
|
|
- if ((i%6)==0) {
|
|
|
- printf("%s","\n ")
|
|
|
- }
|
|
|
- }
|
|
|
- print " ";}'`
|
|
|
-io= `echo $DISKS|
|
|
|
- awk 'BEGIN {FS="|"}
|
|
|
- {for (i=1; i<=NF; i++) {
|
|
|
- printf("%s|",$i);
|
|
|
- if ((i%6)==0) {
|
|
|
- printf("%s","\n ")
|
|
|
- }
|
|
|
- }
|
|
|
- print " ";}'`
|
|
|
-
|
|
|
-EOF
|
|
|
;;
|
|
|
esac
|
|
|
done
|