Difference between revisions of "Unison.pl"

From Organic Design wiki
(How can I allow a Unison profile to be initiated from either end?)
(Redirected page to Unison)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
<perl>
+
#redirect [[Unison]]
#!/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();
 
}
 
</perl>
 
 
 
== How can I allow a Unison profile to be initiated from either end? ==
 
Imagine syncing between a laptop and a desktop computer, using the "minimal profile" from the manual. But you want to be able to initiate the synchronization from both computers. On the desktop use the profile:
 
{{code|<pre>
 
root = /home/bcpierce
 
root = ssh://laptop//home/bcpierce
 
 
 
include homedir
 
</pre>}}
 
 
 
 
 
While on the laptop you use:
 
{{code|<pre>
 
root = /home/bcpierce
 
root = ssh://desktop//home/bcpierce
 
 
 
include homedir
 
</pre>}}
 
 
 
 
 
On both ends, you maintain the included file .unison/homedir.prf, with the paths (and other settings):
 
{{code|<pre>
 
path = current
 
path = common
 
path = .netscape/bookmarks.html
 
path = .unison/homedir.prf
 
</pre>}}
 
 
 
 
 
Note that the homedir.prf file itself is specified as a path to be synchronized.
 
[[Category:PERL]][[Category:Backup]]
 

Latest revision as of 21:04, 29 December 2011

Redirect to: