Difference between revisions of "Unison.pl"
From Organic Design wiki
m |
(make generic so that all config is in wikid.conf) |
||
Line 1: | Line 1: | ||
− | |||
#!/usr/bin/perl | #!/usr/bin/perl | ||
use Expect; | use Expect; | ||
require( '/var/www/tools/wikid.conf' ); | require( '/var/www/tools/wikid.conf' ); | ||
− | $ | + | $bak_user = $name unless defined $bak_user; |
− | $ | ||
− | for $dir ( | + | for $dir ( @bak_paths ) { |
− | + | $cmd = "unison $dir ssh://$bak_user\@$bak_server$dir -batch -force $dir"; | |
− | |||
− | |||
− | ) { | ||
− | $cmd = "unison $dir ssh://$ | ||
$exp = Expect->spawn( $cmd ); | $exp = Expect->spawn( $cmd ); | ||
$exp->expect( | $exp->expect( | ||
undef, | undef, | ||
− | [ qr/password:/ => sub { my $exp = shift; $exp->send( "$ | + | [ qr/password:/ => sub { my $exp = shift; $exp->send( "$bak_pass\n" ); exp_continue; } ], |
[ qr/Synchronization complete/ => sub { } ], | [ qr/Synchronization complete/ => sub { } ], | ||
); | ); | ||
$exp->soft_close(); | $exp->soft_close(); | ||
} | } | ||
− | |||
− |
Revision as of 22:10, 7 July 2009
- !/usr/bin/perl
use Expect; require( '/var/www/tools/wikid.conf' ); $bak_user = $name unless defined $bak_user;
for $dir ( @bak_paths ) { $cmd = "unison $dir ssh://$bak_user\@$bak_server$dir -batch -force $dir"; $exp = Expect->spawn( $cmd ); $exp->expect( undef, [ qr/password:/ => sub { my $exp = shift; $exp->send( "$bak_pass\n" ); exp_continue; } ], [ qr/Synchronization complete/ => sub { } ], ); $exp->soft_close(); }