rdist is ignoring my "except" command...

Jamie jamie at gnulife.org
Fri May 23 09:32:06 PDT 2003




    I am having trouble with rdist, and wondered if anyone might have some
insight. I've gone over the man pages in freebsd, and am still
unenlightened.

    When I run rdist, it is ignoring my "except" commands in the distfile.
Here is a copy of my distfile:


<===========SNIP============>
FILES = (
        /
)


DESTINATION         =       ( jo.foo.net )


${FILES} ->      ${DESTINATION}
        install -i -R -y ;
        except /etc/jotest ;
        except /var ;
        except /root ;
        except /proc ;
        except /usr/home ;
        except /usr/local/share/apache ;
        except /usr/local/apache/conf ;
        except /usr/local/apache/cgi-bin ;
        except /usr/local/apache/logs ;
        notify jamie at gnulife.org;
<============/SNIP================>

   I run it with the command :

   rdist -P /usr/bin/ssh -f /root/source.rdist


   When I run it, it runs just fine, deleting files on the remote system
that aren't on the master, but it keeps ignoring my "except" lines. I
tried putting it in debug mode, but I can't find any documentation that
will explain what the debugging output means:


host# rdist -PnD /usr/bin/ssh -f /root/source.rdist
lookup(FILES, 1, 0x805b050)
lookup(DESTINATION, 1, 0x805b080)
expand(0x805b110, 7)
list = ( /etc/jotest )
expanded list = ( /etc/jotest )
expand(0x805b160, 7)
list = ( /var )
expanded list = ( /var )
expand(0x805b1b0, 7)
list = ( /root )
expanded list = ( /root )
expand(0x805b200, 7)
list = ( /proc )
expanded list = ( /proc )
expand(0x805b250, 7)
list = ( /usr/home )
expanded list = ( /usr/home )
expand(0x805b290, 7)
list = ( /usr/local/share/apache )
expanded list = ( /usr/local/share/apache )
expand(0x805b2c0, 7)
list = ( /usr/local/apache/conf )
expanded list = ( /usr/local/apache/conf )
expand(0x805b2f0, 7)
list = ( /usr/local/apache/cgi-bin )
expanded list = ( /usr/local/apache/cgi-bin )
expand(0x805b320, 7)
list = ( /usr/local/apache/logs )
expanded list = ( /usr/local/apache/logs )
expand(0x805b350, 1)
list = ( jamie at gnulife.org )
expanded list = ( jamie at gnulife.org )
expand(0x805b0b0, 3)
list = ( ${FILES} )
lookup(FILES, 0, 0x0)
expanded list = ( / )
expand(0x805b0d0, 7)
list = ( ${DESTINATION} )
lookup(DESTINATION, 0, 0x0)
expanded list = ( jo.foo.net )
doarrow(0x805b380, jo.foo.net, 0x805b0e0)
updating host jo.foo.net
install -y -R / /
notify @jo.foo.net ( jamie at gnulife.org )
closeconn()



    ...I know it isn't working because for a test I am putting a file
called jotest in /etc/ on the remote machine, and it keeps deleting it
even though I put "except /etc" in the distfile.



    Does anyone have any idea what might be wrong?? Thanks,




   - Jamie












"A friend is someone who lets you have total freedom to be yourself."



More information about the freebsd-questions mailing list