Annotation of wpscripts/wpbackup/backup.pl, Revision 1.1
1.1 ! yason 1: #!/usr/bin/perl
! 2:
! 3: use dirops;
! 4:
! 5: our @image;
! 6: our $label;
! 7: our $ret;
! 8:
! 9: dirops::walkthrough();
! 10:
! 11: while(@image = dirops::getnextblk())
! 12: {
! 13: # for each returned block
! 14:
! 15: $label = (split(/\//, $image[0]))[4];
! 16: $label = $label . '-' . (split(/\//, $image[-1]))[4];
! 17:
! 18: print "Creating directory $dirops::IMAGE/$label.. ";
! 19: if(!mkdir("$dirops::IMAGE/$label"))
! 20: {
! 21: print "failed [$!]\n";
! 22: next;
! 23: # NOTREACHED
! 24: }
! 25: print "done\n";
! 26:
! 27: # open file in just crated directory
! 28: # XXX need to be more verbose here
! 29: open(INDEX, ">>$dirops::IMAGE/$label/INDEX") or next;
! 30: print INDEX scalar(localtime()) . "\n";
! 31:
! 32: # move files there
! 33: for(my $i = 0; $i < scalar(@image); $i++)
! 34: {
! 35: print "moving $image[$i] to $dirops::IMAGE/$label .. ";
! 36: $ret = system("/bin/mv $image[$i] $dirops::IMAGE/$label");
! 37:
! 38: if($ret != 0)
! 39: {
! 40: # mv returns error
! 41: print "failed\n";
! 42:
! 43: # XXX should be more good here
! 44: # maybe not to die ?
! 45: die("cannot move $image[$i] to $dirops::IMAGE/$label! $!");
! 46:
! 47: }
! 48: # okay
! 49: print "done\n";
! 50:
! 51: # update INDEX
! 52: print INDEX "$image[$i]\n";
! 53: }
! 54:
! 55: close(INDEX);
! 56:
! 57: # make ISO 9660 filesystem image
! 58: $ret = system("/usr/local/bin/mkisofs -o $dirops::IMAGE/$label.iso $dirops::IMAGE/$label");
! 59: if($ret != 0)
! 60: {
! 61: # error
! 62: print "error in making of isofs!\n";
! 63: }
! 64: else
! 65: {
! 66: # image ready
! 67: # XXX cleanup
! 68: print "system(\"/bin/rm -r $dirops::IMAGE/$label\")\n";
! 69: }
! 70: }
CVSweb