On Sat, Feb 02, 2008 at 01:20:38AM +0100, Javier Martínez wrote:
> If a run
> 
>  #bash -x javier1
> ++ /sbin/iptables -L vpn1-in -vxn
> ++ /usr/bin/awk 'BEGIN  { getline ; getline }
>         { print $2 }'
> ++ /usr/bin/tr '
> ' :
> ++ /bin/sed -e 's/:$//'
> + /usr/bin/rrdtool update vpn1-in.rrd N:
> ERROR: expected 6 data source readings (got 1) from N:
> -----------------------------------------
> 
> where do i have the mistake? i have introduced  with command "o" on vi 
> editor,  after the
> "tr  ' " but it doesn´t work yet.
> ...
>     Javier Martínez wrote:
> 
> 
>         I have followed this script, but it reports me an error.
>         What i do is this:
> 
>         # /sbin/iptables -L vpn1-in -vxn
>         Chain vpn1-in (6 references)
>             pkts      bytes target     prot opt in out     source             
>   destination
>            81172  4220945            all  --  ppp0   * 192.168.1.100        
> 0.0.0.0/0
>                0        0            all  --  ppp0   * 192.168.1.101        
> 0.0.0.0/0
>                0        0            all  --  ppp0   * 192.168.1.102        
> 0.0.0.0/0
>                0        0            all  --  ppp0   * 192.168.1.103        
> 0.0.0.0/0
>                0        0            all  --  ppp0   * 192.168.1.104        
> 0.0.0.0/0
>                0        0            all  --  ppp0   * 192.168.1.105        
> 0.0.0.0/0
> 
>         and i make a cron with this file, that respond me with an error:
> 
>         #sh javier1
>         ERROR: expected 6 data source readings (got 1) from N:
> 
>         where the content of javier1 is:
> 
>         # more javier1
>         #
>         /usr/bin/rrdtool update vpn1-in.rrd N:`/sbin/iptables -L vpn1-in -vxn 
> | \
>            /usr/bin/awk 'BEGIN  { getline ; getline }
>                 { print $2 }' | \
>          /usr/bin/tr '
>                 ' ':' | /bin/sed -e 's/:$//'`

I'm not familiar with most of the programs you're using, but would
suggest breaking the problem down to check the output of each stage before
continuing to pipe it into the next one.  E.g., the sed pipe isn't going
to do anything good if it's got garbage coming in (whether it has or
hasn't I have no idea).

If, in the awk snippet, you're trying to ignore the first two lines of
the content you show above, I'm not sure using the BEGIN block will do
that; instead, maybe try:

    /usr/bin/awk 'NR>2 { print $2 }'

which explicitly says to only do the action if the line count > 2.

-- 
Ken Irving
Water and Environmental Research Center
Institute of Northern Engineering
University of Alaska, Fairbanks

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Shorewall-users mailing list
Shorewall-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/shorewall-users

Reply via email to