|
Packit |
667938 |
#!/usr/bin/perl
|
|
Packit |
667938 |
|
|
Packit |
667938 |
# Define list of nodes to backup
|
|
Packit |
667938 |
@nodes_to_backup = ('router1','router2','router3','etc');
|
|
Packit |
667938 |
|
|
Packit |
667938 |
# Get date and time of execution
|
|
Packit |
667938 |
chop ($date = `date +%y%m%d`);
|
|
Packit |
667938 |
chop ($time = `date +%H:%M:%S`);
|
|
Packit |
667938 |
|
|
Packit |
667938 |
# Define working directories
|
|
Packit |
667938 |
$MRTG_DIR = "/home/httpd/html/mrtg";
|
|
Packit |
667938 |
$BACKUP_DIR = "$MRTG_DIR/backup";
|
|
Packit |
667938 |
$TO_DIR = "$BACKUP_DIR/$date";
|
|
Packit |
667938 |
|
|
Packit |
667938 |
print "==================================================
|
|
Packit |
667938 |
Starting backup for day $date at $time.\n";
|
|
Packit |
667938 |
|
|
Packit |
667938 |
# Create daily directory and copy default GIF files
|
|
Packit |
667938 |
print "Creating directory $TO_DIR.\n";
|
|
Packit |
667938 |
mkdir($TO_DIR,"755") || die "Error creating directory $TO_DIR.\n";
|
|
Packit |
667938 |
chmod(0755,$TO_DIR);
|
|
Packit |
667938 |
system(sprintf("cp -a %s/mrtg-*.gif %s",$MRTG_DIR,$TO_DIR));
|
|
Packit |
667938 |
|
|
Packit |
667938 |
# For each node copy the daily summary file and create the index file
|
|
Packit |
667938 |
foreach $node ( @nodes_to_backup ) {
|
|
Packit |
667938 |
printf("Executing backup for node %s.\n",$node);
|
|
Packit |
667938 |
system(sprintf("cp -a %s/%s.*-day.gif %s",$MRTG_DIR,$node,$TO_DIR));
|
|
Packit |
667938 |
$Summary_Source = "$MRTG_DIR/$node.html";
|
|
Packit |
667938 |
$Summary_Destination = "$TO_DIR/$node.html";
|
|
Packit |
667938 |
open(SRC,"<$Summary_Source");
|
|
Packit |
667938 |
open(DST,">$Summary_Destination");
|
|
Packit |
667938 |
while (<SRC>) {
|
|
Packit |
667938 |
s/]*>//g;
|
|
Packit |
667938 |
s/<\/A>//g;
|
|
Packit |
667938 |
s/Router Overview/Router Overview of $date/;
|
|
Packit |
667938 |
s/<META HTTP-EQUIV=\"Refresh\" CONTENT=300 >//;
|
|
Packit |
667938 |
print DST; }
|
|
Packit |
667938 |
close(SRC);
|
|
Packit |
667938 |
close(DST);
|
|
Packit |
667938 |
chmod(0644,$Summary_Destination);
|
|
Packit |
667938 |
}
|
|
Packit |
667938 |
|
|
Packit |
667938 |
# Create the general index file
|
|
Packit |
667938 |
$INDEX = "$TO_DIR/index.html";
|
|
Packit |
667938 |
print "Creating index file $INDEX.\n";
|
|
Packit |
667938 |
open(IDX,">$INDEX") || die "Could not open index file $INDEX.\n";
|
|
Packit |
667938 |
printf IDX "
|
|
Packit |
667938 |
<HTML>
|
|
Packit |
667938 |
<HEAD><TITLE>Server Summary for %s</TITLE></HEAD>
|
|
Packit |
667938 |
<BODY BGCOLOR=\"#FFFFFF\">
|
|
Packit |
667938 |
<CENTER>Server Summary for %s</CENTER>
|
|
Packit |
667938 |
|
|
Packit |
667938 |
",$date,$date;
|
|
Packit |
667938 |
foreach $node ( @nodes_to_backup ) {
|
|
Packit |
667938 |
printf IDX "%s\n",$node,$node;
|
|
Packit |
667938 |
}
|
|
Packit |
667938 |
print IDX "</BODY></HTML>";
|
|
Packit |
667938 |
close(IDX);
|
|
Packit |
667938 |
chmod(0644,$INDEX);
|
|
Packit |
667938 |
|
|
Packit |
667938 |
chop ($time = `date +%H:%M:%S`);
|
|
Packit |
667938 |
print "Backup for day $date finished at $time.\n";
|