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