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.) |