summaryrefslogtreecommitdiff
path: root/sysutils/backuppc/files/extra-patch-bin-BackupPC
blob: afa7d0a73d4e09b82a78ad64e69f30e24b9fa984 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
--- bin/BackupPC.orig	2011-04-25 07:31:54.000000000 +0400
+++ bin/BackupPC	2013-02-17 16:51:18.000000000 +0400
@@ -1198,6 +1198,47 @@
 				     $Info{"${p}FileRepMax"},
 				     $Info{"${p}FileLinkMax"}, $Info{"${p}DirCnt"});
 			}
+
+			#
+			# RRDTool Graphing stuff
+			#
+			if ( -x "$BinDir/rrdtool" ) {
+			    my $date = time() + (24 * 3600);
+			    if ( ! -f "$LogDir/pool.rrd" ) {
+				system("$BinDir/rrdtool create $LogDir/pool.rrd"
+				  . " --step 86400"
+				  . " DS:ckb:GAUGE:172800:0:U"
+				  . " DS:tps:GAUGE:172800:0:U"
+				  . " RRA:AVERAGE:0.5:1:1400"
+				);
+			    }
+
+			    #
+			    # Generate size totals prior to poolng and compression
+			    #
+			    my $sizeTot;
+			    foreach my $host ( sort(keys(%{$bpc->HostInfoRead()})) ) {
+				my @Backups = $bpc->BackupInfoRead($host);
+				for ( my $i = 0 ; $i < @Backups ; $i++ ) {
+				    $sizeTot += $Backups[$i]{size};
+				}
+			    }
+
+			    $sizeTot = $sizeTot / 1024;
+
+			    system("$BinDir/rrdtool update $LogDir/pool.rrd"
+			      . " $date:"
+			      . ( $Info{"cpoolKb"} + $Info{"poolKb"} )
+			      . ":$sizeTot"
+			    );
+
+			    printf(LOG "%sRRD Data: %s:%f:%f\n",
+			      $bpc->timeStamp,
+			      $date,
+			      $Info{"cpoolKb"} + $Info{"poolKb"},
+			      $sizeTot);
+			}
+
                     }
                 } else {
                     $CmdJob = "";