Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | Prochaine révision Les deux révisions suivantes | ||
tuto:ipasserelle:divers:scripts_dokuwiki [16/01/2019 10:00] dani |
tuto:ipasserelle:divers:scripts_dokuwiki [16/01/2019 11:32] dani |
||
---|---|---|---|
Ligne 210: | Ligne 210: | ||
$str .= ' |' . " | $str .= ' |' . " | ||
print $str; | print $str; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | * Rapports de sauvegardes BackupPC | ||
+ | |||
+ | <file perl backups.pl> | ||
+ | # | ||
+ | |||
+ | use lib "/ | ||
+ | use BackupPC:: | ||
+ | use BackupPC:: | ||
+ | use POSIX; | ||
+ | use Data:: | ||
+ | |||
+ | # We need to switch to backuppc UID/GID | ||
+ | my $uid = getuid(); | ||
+ | my $gid = getgid(); | ||
+ | my (undef, | ||
+ | setuid($bkpuid) if ($uid ne $bkpuid); | ||
+ | setgid($bkpgid) if ($gid ne $bkpgid); | ||
+ | |||
+ | my $bpc = BackupPC:: | ||
+ | my $hosts = $bpc-> | ||
+ | my $mainConf = $bpc-> | ||
+ | |||
+ | print '^ Jeux de sauvegarde ^ Description ^ Fréquence ^ volume complète ^ Volume incrémental ^ Durée moyenne ^' . " | ||
+ | |||
+ | foreach my $host (keys %$hosts){ | ||
+ | my $hostConf = $bpc-> | ||
+ | my $conf = { %$mainConf, %$hostConf }; | ||
+ | my @backups = $bpc-> | ||
+ | my ($nb_bkp, | ||
+ | |||
+ | foreach my $backup (@backups){ | ||
+ | $nb_bkp += 1; | ||
+ | $duration += $backup-> | ||
+ | if ($backup-> | ||
+ | $nb_full += 1; | ||
+ | $size_full = $backup-> | ||
+ | } else { | ||
+ | $nb_incr += 1; | ||
+ | } | ||
+ | # The size of new files can be computed for full or incr | ||
+ | $size_incr += $backup-> | ||
+ | } | ||
+ | |||
+ | if ($nb_bkp > 0){ | ||
+ | $duration = sprintf(' | ||
+ | $size_incr = sprintf(' | ||
+ | } | ||
+ | $size_full = sprintf(' | ||
+ | |||
+ | print " | ||
+ | |||
} | } | ||
</ | </ |