sub import {
hook(type => "getsetup", id => "rsync", call => \&getsetup);
- hook(type => "postrefresh", id => "rsync", call => \&postrefresh);
+ hook(type => "rendered", id => "rsync", call => \&postrefresh);
+ hook(type => "delete", id => "rsync", call => \&postrefresh);
}
sub getsetup () {
},
rsync_command => {
type => "string",
- example => "rsync -qa --delete . user\@host:/path/to/docroot/ --exclude ikiwiki.cgi",
+ example => "rsync -qa --delete . user\@host:/path/to/docroot/",
description => "command to run to sync updated pages",
safe => 0,
rebuild => 0,
},
}
+my $ran=0;
+
sub postrefresh () {
- if (defined $config{rsync_command}) {
+ if (defined $config{rsync_command} && ! $ran) {
+ $ran=1;
chdir($config{destdir}) || error("chdir: $!");
system $config{rsync_command};
if ($? == -1) {