PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` #!/usr/local/bin/perl use DBI; my $tmddb = 'DBI:mysql:tmdhost_bluebill:174.133.93.178'; my $tmdusername = 'statskeeper'; my $tmdpass = 'zbYDLbrESmcuNucw'; my $masterdb = 'DBI:mysql:monitoring:74.200.74.237'; my $masterusername = 'backupstatus'; my $masterpass = 'dAtIebAmAikata'; $state1 = 'running'; $state2 = 'finished'; $backuptype = 'home folders'; $myname=`hostname`; chomp($myname); sub get_server_id { my $dbh = DBI->connect($tmddb, $tmdusername, $tmdpass); my $sql = "SELECT id from tblservers where name='$myname';"; my $sth = $dbh->prepare($sql); $sth->execute or die "SQL error: $DBI:errstr\n";; while (my @data = $sth->fetchrow_array) { $serverid = $data[0]; chomp($serverid); } } sub log_big { my $dbh1 = DBI->connect($masterdb, $masterusername, $masterpass); my $sql1 = "INSERT INTO `monitoring`.`backupexcludes` (`username` ,`server` ,`size` ,`lastupdate`) VALUES ('$cpusername', '$myname', '$diskusage',CURRENT_TIMESTAMP);"; my $sth1 = $dbh1->prepare($sql1); $sth1->execute or die "SQL error: $DBI:errstr\n"; $dbh1->disconnect; } &get_server_id; sub set_start { my $dbh2 = DBI->connect($masterdb, $masterusername, $masterpass); my $sql2 = "UPDATE backupstatus SET backupstate='$state1' where srv='$myname';"; my $sth2 = $dbh2->prepare($sql2); $sth2->execute or die "SQL error: $DBI:errstr\n"; $dbh2->disconnect; } sub set_end { my $dbh3 = DBI->connect($masterdb, $masterusername, $masterpass); my $sql3 = "UPDATE backupstatus SET backupstate='$state2' where srv='$myname';"; my $sth3 = $dbh3->prepare($sql3); $sth3->execute or die "SQL error: $DBI:errstr\n"; $dbh3->disconnect; } sub get_destination { my $dbh4 = DBI->connect($masterdb, $masterusername, $masterpass); my $sql4 = "SELECT destination from backupmap where source='$myname';"; my $sth4 = $dbh4->prepare($sql4); $sth4->execute or die "SQL error: $DBI:errstr\n";; while (my @data4 = $sth4->fetchrow_array) { $destination = $data4[0]; chomp($destination); } } sub set_letter { my $dbh5 = DBI->connect($masterdb, $masterusername, $masterpass); my $sql5 = "UPDATE backupstatus SET letter='$content', loadavg='$loadavg', backuptype='$backuptype', lastupdate = now() where srv='$myname';"; my $sth5 = $dbh5->prepare($sql5); $sth5->execute or die "SQL error: $DBI:errstr\n"; $dbh5->disconnect; } sub set_loadavg { $loadavg=`c`; chomp($loadavg); } sub sort_and_backup_homes { &get_destination; my $dbh = DBI->connect($tmddb, $tmdusername, $tmdpass); my $sql1 = "SELECT username, diskusage from tblhosting where server='$serverid' and domainstatus='Active' order by diskusage ASC;"; my $sth = $dbh->prepare($sql1); $sth->execute or die "SQL error: $DBI:errstr\n";; while (my @data = $sth->fetchrow_array) { $cpusername = $data[0]; chomp($cpusername); $diskusage = $data[1]; chomp($diskusage); if (-e "/var/cpanel/users/$cpusername") { if ($diskusage > '7000'){ print "I will not backup $cpusername. Its size is $diskusage . My destination is $destination\n"; &log_big; } else { print "I will backup $cpusername. Its size is $diskusage . My destination is $destination \n"; &set_loadavg; &set_letter; system("/usr/local/cpanel/bin/cpuwatch 7 ionice -c2 -n3 rsync -e ssh -avz /home/$cpusername $destination:/backup/$myname/home/"); } } else { print "I have user $cpusername with usage of $diskusage in DB, but NOT ON SERVER?!?!?! \n"; } } } &set_start; &sort_and_backup_homes; &set_end;