Selasa, 18 Ogos 2009

Daily Backup


#!/bin/sh
# This backup script should be run daily.
# number of backup?
BACKUP=4
export PATH=/usr/bin:/bin:/sbin:/usr/sbin
TIMENOW=`date +%s`
NUM=`echo $(($TIMENOW/86400%$BACKUP))`
# Define where you want to backup.
DEST=/net/nas/backup/pepe/DAILY
# Check for NFS mount to ensure we got the mount point
ls /net/nas/backup > /dev/null 2>&1
if [ ! -d $DEST ]; then
echo "Directory not found: $DEST"
exit 1
fi
function copythis () {
RSOPTS="-ax --numeric-ids --delete-excluded --bwlimit=30000"
FROM="$1"
shift
TO="$1"
shift
XOPTS="$*"
echo $FROM to $TO
rsync $RSOPTS $XOPTS $FROM $TO
}
function dbdump () {
TABLE="$1"
DBUSER="root"
DBPASSWD="SECRET"
mysqldump -u$DBUSER -p$DBPASSWD -q -S /var/lib/mysql/mysql.sock $TABLE | \
bzip2 - > $DEST/mysql/$TABLE.sql.$NUM.bz2
}
copythis /etc $DEST/
# backup mysql databases
umask 077
dbdump cerberus
dbdump dotproject
dbdump intranet
dbdump mysql
dbdump phpmyadmin
dbdump wikidb

Tiada ulasan:

Catat Ulasan