From 6a51bae4003984167afe3a32fe2e65ec77093df9 Mon Sep 17 00:00:00 2001 From: Sitaram Chamarty Date: Sun, 24 Apr 2011 15:14:37 +0530 Subject: [PATCH] update s3backup adc to disable pushes first (ref http://sitaramc.github.com/gitolite/doc/3-faq-tips-etc.html#_disabling_write_access_to_take_backups) code from David Bremner via email --- contrib/adc/s3backup | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/contrib/adc/s3backup b/contrib/adc/s3backup index 468ada1..ac59f85 100644 --- a/contrib/adc/s3backup +++ b/contrib/adc/s3backup @@ -133,5 +133,18 @@ push(@args, $ENV{HOME}) unless ($subcommand eq 'prune'); push(@args, 's3+http://'.$S3_BUCKET); -system '/usr/bin/duplicity', @args; +my $semaphore=$ENV{HOME}."/.gitolite.down"; +die "$semaphore already exists" if (-f $semaphore); + +eval { + open (SEMFD,'>',$semaphore) or die ("failed to open $semaphore"); + my $now = gmtime(); + print SEMFD "Repo unavailable due to $subcommand backup started at $now GMT\n"; + close SEMFD; + + system '/usr/bin/duplicity', @args; + +}; + +unlink $semaphore;