- 主题:大站备份的教本
#!/bin/sh
#####################################
# 斧头帮 bbs 备份脚本 #
# zixia@zixia.net #
#####################################
BACKUPHOME=/opt/BBS/Backup/`date +%Y-%m-%d`
BBSHOME=/home/system/bbs
UBBHOME=~web/zixia.net/ubb
[ ! -x /opt/BBS/Backup ] && mkdir /opt/BBS/Backup
mkdir $BACKUPHOME
cd $UBBHOME
echo -n "Backup ubb... "
find . -depth -print | cpio -ocB | gzip - > $BACKUPHOME/ubb.cpio.gz
cd $BBSHOME
echo -n "Backup bbs... "
find . -path './0Announce/groups' -prune \
-o -path './boards' -prune \
-o -path './mail' -prune \
-o -path './home' -prune \
-o -print \
| cpio -ocB | gzip - > $BACKUPHOME/bbs.cpio.gz
echo -n "Backup home... "
find home -depth -print | cpio -ocB | gzip - > $BACKUPHOME/home.cpio.gz
echo -n "Backup mail... "
find mail -depth -print | cpio -ocB | gzip - > $BACKUPHOME/mail.cpio.gz
mkdir $BACKUPHOME/0Announce
mkdir $BACKUPHOME/0Announce/groups
cd $BBSHOME/0Announce/groups
for i in * .Names; do
echo -n "Backup 0Announce/groups/$i... "
find $i -depth -print | cpio -ocB | gzip - \
> $BACKUPHOME/0Announce/groups/$i.cpio.gz
done
mkdir $BACKUPHOME/boards
cd $BBSHOME/boards
for i in *; do
echo -n "Backup boards/$i... "
find $i -depth -print | cpio -ocB | gzip - \
> $BACKUPHOME/boards/$i.cpio.gz
done
--
FROM 166.111.11.17
还是太粗了,我把ytht的贴在这里:
照搬没有意义 估计可以参考
#!/bin/bash
BBSNAME=ytht
BACKUPDIR=/root/bbsbak
TMPFILE=/tmp/$$.list
[ -L $TMPFILE ] && exit
>$TMPFILE
dn=`date|cut -d' ' -f1`
if [ ! -d $BACKUPDIR/$dn ];then
rm -fr $BACKUPDIR/$dn
mkdir -p $BACKUPDIR/$dn
fi
if [ ! -d $BACKUPDIR/backnumbers ];then
rm -fr $BACKUPDIR/backnumbers
mkdir -p $BACKUPDIR/backnumbers
fi
cd /home/bbs
for i in .* *
do
if grep $i specialdir &> /dev/null; then
continue
else
echo $i >> $TMPFILE
fi
done
tar -cvpzf $BACKUPDIR/$dn/$BBSNAME.root.$dn.tgz `cat $TMPFILE`
rm -f $TMPFILE
for i in 0Announce/groups/*/*
do
name=`echo $i|cut -d'/' -f4`
tar -cvpzf $BACKUPDIR/$dn/$BBSNAME.0An.$name.$dn.tgz $i
done
for i in boards home mail
do
for j in $i/*
do
name=`echo $j|cut -d'/' -f2`
tar -cvpzf $BACKUPDIR/$dn/$BBSNAME.$i.$name.$dn.tgz $j
done
done
for i in backnumbers/*/*
do
name=`echo $i|tr / .`
if [ ! -e $BACKUPDIR/backnumbers/$name.tgz -o $i -nt $BACKUPDIR/backnumbers/$name.tgz ] ; then
mv $BACKUPDIR/backnumbers/$name.tgz $BACKUPDIR/backnumbers/$name.tgz.old
tar -cvpzf $BACKUPDIR/backnumbers/$name.tgz $i
fi
done
tar -cvpzf $BACKUPDIR/backnumbers/dir.tgz backnumbers/*/.DIR
【 在 zixia@bbs.zixia.net (Do you zixia!?) 的大作中提到: 】
: #!/bin/sh
: #####################################
: # 斧头帮 bbs 备份脚本 #
: # zixia@zixia.net #
: #####################################
: BACKUPHOME=/opt/BBS/Backup/`date +%Y-%m-%d`
: BBSHOME=/home/system/bbs
: UBBHOME=~web/zixia.net/ubb
: [ ! -x /opt/BBS/Backup ] && mkdir /opt/BBS/Backup
: ...................
--
FROM 162.105.118.38
我用的这个脚本备份的,bbs一直关着,每备份一次,备份出的东东都会比上一次多10M,越来越大...怎么回事?
【 在 zixia@bbs.zixia.net (Do you zixia!?) 的大作中提到: 】
: #!/bin/sh
: #####################################
: # 斧头帮 bbs 备份脚本 #
: ...................
--
FROM 218.241.228.*