서버.보안

서버백업스크립트

landzz 2009. 4. 21. 23:45
/etc/cron.daily/backup.sh
====================================
#!/bin/sh
LANG=en
PATH=/usr/bin:/bin
DOW=`date +%a`
DOM=`date +%d`
HOMEDIR=/home/user
BACKUPDIR=/backup
MYSQLPASSWD="*******"

cd ${HOMEDIR}
        for USER in *; do
                if [ $DOW = "Sun" ]; then
                        NOW=`date +%d-%b`
                        echo $NOW > ${BACKUPDIR}/last-full-date
                        mv -f ${BACKUPDIR}/data/${USER}-${DOW}.tar ${BACKUPDIR}/data/${USER}-${DOW}.old.tar
                        tar -cpf ${BACKUPDIR}/data/${USER}-${DOW}.tar ${USER}
                else
                        NEWER="--newer=`cat ${BACKUPDIR}/last-full-date`"
                        tar -cp ${NEWER} -f ${BACKUPDIR}/data/${USER}-DOW.tar ${USER}
                fi
        done

DATABASE=`mysql -u root -p${MYSQLPASSWD} -e "show databases;" -s`
for DB in ${DATABASE}; do
        mysqldump -u root -p${MYSQLPASSWD} --opt ${DB} --default-character-set=euckr --extended-insert=false > ${BACKUPDIR}/db/${DB}-${DOW}.sql
done

cd /
tar -cpf ${BACKUPDIR}/data/etc-${DOW}.tar etc