in reply to Re: Generic compare script.
in thread Generic compare script.

Yes that is exactly what I want to do but I was trying not to spread my code around, I wanted a single script to do the lot.

Maybe that is not going to be possible???

I will check out the ports of the unix commands.

Many Thanks.

Replies are listed 'Best First'.
Re^3: Generic compare script.
by graff (Chancellor) on Oct 12, 2005 at 06:00 UTC
    I wanted a single script to do the lot

    With the unix tools installed on all machines, you could have a single script on a single machine that does something like this:

    my $find = "find /path -type f -print0 | xargs -0 md5" for my $host ( @hostlist ) { open O ">$host.md5list" or die "$host.md5list: $!"; print O `ssh $host '$find'`; close O; } # compare lists here, if you like, or use a separate script/tool to do + that
    That assumes that you have the appropriate authentication keys for using ssh without a password to connect to each host. Other methods are possible for the connections, of course.

    (updated the script to include "xargs -0", and to run the md5 part on the remote host, where it belongs -- note the single quotes around $find in the ssh command line.)

    (another update: I should confess that I have no clue how you would actually execute a shell script on a remote windows machine... good luck with that.)

      Thanks mate, this looks like it will do the job in an infinately simpler way than i was envisiging.
      I really need to brush up on my *nix.

      Cheers :o)

      Thanks mate.......that looks like it will do the job. It's infinately simpler than my first idea! You have saved me loads of time...cheers!