X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=BackupPC_ovz;h=06bf6a6999b5045efe0374f588063523d9c00363;hb=38952dc8c032aff8c7895fecd1faada765b991e8;hp=5b7d010dd19e7b9572c3635b5d7e369bef7ed433;hpb=550b47b0118b8a2344e975082bbf6d81d8dde040;p=ovzbpc.git diff --git a/BackupPC_ovz b/BackupPC_ovz index 5b7d010..06bf6a6 100755 --- a/BackupPC_ovz +++ b/BackupPC_ovz @@ -1,10 +1,11 @@ #!/usr/bin/perl # # BackupPC_ovz +# Version: __appVersion__ # # OpenVZ integration for BackupPC allowing the latter to backup OpenVZ VE's # with ovz awareness to improve backup and restore efficiency and features. - +# # FIXME: signal handling to clean up mount point and snapshot on termination use strict; @@ -15,12 +16,12 @@ use File::Path; use Proc::PID::File; # Various constants -my @HNS = ('pe18001.titaniummirror.com', 'pe18002.titaniummirror.com'); my @script_ext = qw(start stop mount umount); my @velist = (); my $pidfile = "/tmp/".basename($0).".pid"; my $vzsnap = 'vzsnap'; # Mount point and lv names. Mount is relative to /. -my $snapsize = '1g'; +my $snapsize = '25g'; +my $hnlistFile = "/etc/backuppc/".basename($0).".hnlist"; my $velistFile = $ENV{HOME}."/log/".basename($0).".velist"; sub cmdExecOrEval @@ -67,6 +68,15 @@ sub refreshConfig() { # Write the VEs on all HNs to a config file on the BackupPC server for # later use. + my @HNS = (); + open my $cfg, "<$hnlistFile" || die "Cannot read $hnlistFile"; + while (<$cfg>) { + chomp; + push(@HNS, split(' ')) if (! /^#/); + } + close($cfg); + die "No HNs defined in $hnlistFile" if ($#HNS < 0); + open my $out, ">$velistFile" || die "Cannot write to $velistFile"; foreach my $hn (@HNS) { open my $fh, "ssh -l root $hn vzlist -a |" || @@ -318,7 +328,7 @@ sub makeSnapshot($) die "Failed to create snapshot device" } $ve->{'snapdev'} = $snapdev; - cmdSystemOrEval("mount -o nouuid $snapdev $snaproot"); + cmdSystemOrEval("mount -o noatime,nodiratime $snapdev $snaproot"); my $snapprivate = $ve->{'private'}; $snapprivate =~ s|/?$lvmpath/?|/$vzsnap/|;