1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#!/usr/bin/perl
use lib '/home/bbs/bin/';
use LocalVars;
use strict;
use vars qw/$BACKHOME $MANROOT $HOMEROOT $BOARDROOT/;
$BACKHOME = "$BBSHOME/backup";
$MANROOT = "man/boards";
$HOMEROOT = "home";
$BOARDROOT= "boards";
chdir $BBSHOME;
my @baktable = (['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
['I', 'J', 'K', 'L', 'M', 'N', 'O', 'P'],
['Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X'],
['Y', 'Z', 'a', 'b', 'c', 'd', 'e'],
['f', 'g', 'h', 'i', 'j', 'k', 'l'],
['m', 'n', 'o', 'p', 'q', 'r', 's'],
['t', 'u', 'v', 'w', 'x', 'y', 'z']);
my (undef,undef,undef,undef,undef,undef,$wday) = localtime(time);
my $week = defined($ARGV[0]) ? $ARGV[0] : $wday;
no strict 'subs';
setpriority(PRIO_PROCESS, $$, 20);
use strict subs;
my($orig, $to);
foreach $orig ( <$BACKHOME/*new*> ){
$to = $orig;
$to =~ s/\.new//g;
docmd("mv $orig $to");
}
foreach( @{$baktable[$week]} ){
docmd("$TAR zcf $BACKHOME/man.$_.new.tgz $MANROOT/$_/*");
docmd("$TAR zcfh $BACKHOME/home.$_.new.tgz $HOMEROOT/$_");
docmd("$TAR zcf $BACKHOME/board.$_.new.tgz $BOARDROOT/$_/*");
}
if( $week == 0 ){
docmd("$TAR zcf $BACKHOME/general.new.tgz .BRD .PASSWDS .act .note .polling .post .post.old adm bin cron etc innd log note.ans note.dat pttbbs register.log ussong");
}
sub docmd
{
print "@_\n";
`@_`;
}
|