summaryrefslogblamecommitdiffstats
path: root/util/dailybackup.pl
blob: fdcbee93bd4bab270a7ff64d7465dda63acdb522 (plain) (tree)

































                                                                  


                                                                  


                 
                                                                                                                                                                         






                 
#!/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";
    `@_`;
}