tar
up all of my web document tree on my existing serverMy plan at this point was to write a script which would:
As a result, whenever a user seeks a page on my old address, they get redirected to the new address to the same page under that tree.
1 #!/usr/bin/perl -lw 2 3 use strict; 4 use File::Find (); 5 use File::Copy; 6 use vars qw($name); 7 8 my $old_server_str = "http://chat.carleton.ca/~tkralidi"; 9 my $new_server_str = "http://www.kralidis.ca"; 10 my @files; 11 my $count = 0; 12 13 # find HTML files 14 @ARGV = qw(.) unless @ARGV; 15 sub find(&@) { &File::Find::find } 16 *name = *File::Find::name; 17 find { push @files, $name if /^.*(htm|html|shtml)$/ && -T } @ARGV; 18 19 foreach(@files) { 20 # trim and make redirector basename / if file is index.*htm* (don't show index.*htm*) 21 my $trans_str; 22 chomp; 23 s#^./##; 24 if ($_ =~ /(.*)index.(htm|html|shtml)$/) { 25 $trans_str = $1; 26 } 27 else { 28 $trans_str = "$_"; 29 } 30 31 # write out page template 32 (my $page = <<" ENDHTML") =~ s/^\s+//gm; 33 <HEAD> 34 <TITLE>This page has moved</TITLE> 35 <META HTTP-EQUIV="REFRESH" CONTENT="5; url=$new_server_str/$trans_str"> 36 </HEAD> 37 38 <BODY> 39 40 <HR NOSHADE> 41 42 <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> 43 <!-- 44 document.write("This page (" + document.URL + ")"); 45 //--> 46 </SCRIPT> 47 <P> 48 has been moved to: 49 <P> 50 <A HREF="$new_server_str/$trans_str">$new_server_str/$trans_str</A> 51 <P> 52 You will be redirected in 5 seconds 53 <P> 54 Please update your bookmarks/favourites if you have bookmarked this site. 55 <HR NOSHADE> 56 57 </BODY> 58 </HTML> 59 60 ENDHTML 61 62 # copy original HTML file to .orig and write out new file w/ template contents 63 copy("$_", "$_.orig") or die "$_ : $!\n"; 64 open(OUT, ">$_") or die "$_ : $!\n"; 65 print OUT "$page"; 66 close(OUT); 67 print "$_ processed"; 68 $count++; 69 } 70 71 print "$count files processed"; 72 73 exit(0); |