send-config.pl
changeset 3 6cc86a8d1085
parent 1 2ee0eb0ef5d3
child 6 e7973168471d
equal deleted inserted replaced
2:5b9ad097c060 3:6cc86a8d1085
    15 use Net::SSH qw(sshopen2);
    15 use Net::SSH qw(sshopen2);
    16 use Sys::Hostname::Long;
    16 use Sys::Hostname::Long;
    17 use Socket;
    17 use Socket;
    18 
    18 
    19 my $ME = basename $0;
    19 my $ME = basename $0;
    20 my $CONFIG = "./config";
    20 my $CONFIG = "/etc/send-config/config";
    21 
    21 
    22 my $opt_verbose = 0;
    22 my $opt_verbose = 0;
    23 my $opt_keepgoing = 0;
    23 my $opt_keepgoing = 0;
    24 
    24 
    25 MAIN: {
    25 MAIN: {
    39     };
    39     };
    40     my $addr = inet_ntoa($ip);
    40     my $addr = inet_ntoa($ip);
    41     my $hostname_long = hostname_long();
    41     my $hostname_long = hostname_long();
    42 
    42 
    43     my $user = "root";
    43     my $user = "root";
    44     my $path = "/root/Config/Hosts/$hostname_long";
    44     my $path = "/root/Configs/Hosts/$hostname_long";
    45     my $ssh_cmd = "mkdir -m 0700 -p $path";
    45     my $ssh_cmd = "mkdir -m 0700 -p $path";
    46     
    46     
    47     sshopen2("$user\@$host", *READER, *WRITER, "$ssh_cmd") || die "ssh: $!";
    47     sshopen2("$user\@$host", *READER, *WRITER, "$ssh_cmd") || die "ssh: $!";
    48     close(READER); close(WRITER);
    48     close(READER); close(WRITER);
    49 
    49 
    50     open(CONF, $CONFIG) or die "$ME: Can't open $CONFIG: $!\n";
    50     open(CONF, $CONFIG) or die "$ME: Can't open $CONFIG: $!\n";
    51 
    51 
    52     my @cmd = (
    52     my @cmd = (
    53 	qw(rsync --rsh),
    53 	qw(rsync --rsh), "ssh -x",
    54 	"ssh -x",
       
    55 	qw(--compress --numeric-ids
    54 	qw(--compress --numeric-ids
    56 	   --delete --delete-excluded
    55 	   --delete --delete-excluded
    57 	   --archive --relative)
    56 	   --archive --relative)
    58     );
    57     );
    59     push @cmd, "--verbose" if $opt_verbose;
    58     push @cmd, "--verbose" if $opt_verbose;
    60     
    59     
    61     # get exclusion list
       
    62     while (<CONF>) {
    60     while (<CONF>) {
    63 	chomp;
    61 	chomp;
    64 	 /^!(.*)\s*/ or next;
    62 	 /^!(.*)\s*/ or next;
    65 	 push @cmd, "--exclude", $1;
    63 	 push @cmd, "--exclude", $1;
    66     }
    64     }