Annotation of wpscripts/wpbackup/backup.pl, Revision 1.1.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