X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=bin%2FBackupPC_ASA_PostArchive_Update;h=93478c985afbe71e8a82da6b982f75c75567e35b;hp=d58f2450f9170daad43f19359c216b6f9398f6da;hb=06017d5181d9c62f8cbd1c6d58d831f54d7d4ad1;hpb=fa8d82ef3f27cabb75318b9b646645973c83c429 diff --git a/bin/BackupPC_ASA_PostArchive_Update b/bin/BackupPC_ASA_PostArchive_Update index d58f245..93478c9 100755 --- a/bin/BackupPC_ASA_PostArchive_Update +++ b/bin/BackupPC_ASA_PostArchive_Update @@ -120,6 +120,13 @@ my $sth_inc_size = $dbh->prepare(qq{ where id = ? }); +sub read_only { + my $full = shift; + my $perm = (stat $full)[2] & 0444; + warn sprintf("chmod %03o %s\n",$perm,$full); + chmod $perm, $full || die $!; +} + sub check_archive { my ($host,$num) = @_; warn "# check_archive $host $num"; @@ -140,8 +147,12 @@ sub check_archive { my $md5_path = "$Conf{ArchiveDest}/$host.$num.md5"; unlink $md5_path if -s $md5_path == 0; # fix empty + my $read_protect = 0; + if ( ! -e $md5_path ) { system_ok "cd $Conf{ArchiveDest} && /usr/bin/md5sum $host.$num.* > $md5_path"; + read_only $md5_path; + $read_protect = 1; } else { system_ok "cd $Conf{ArchiveDest} && /usr/bin/md5sum -c $md5_path" if $opt->check; } @@ -150,6 +161,7 @@ sub check_archive { foreach ( split(/\n/, read_file "$Conf{ArchiveDest}/$host.$num.md5" ) ) { my ( $md5, $path ) = split(/\s+/,$_); $md5sum->{$path} = $md5; + read_only "$Conf{ArchiveDest}/$path" if $read_protect; } # depending on expected returned value this is used like: