Date: Tue, 13 Apr 2004 13:58:01 +0600
From: Alexander V Butenko <Alexander_V_Butenko@p9.f160.n450.z2.fidonet.org.>
Newsgroups: ftn.ru.linux
Subject: Пример shell скрипта для инкрементального бэкапа
AB> А чем его использование лучше простого tar ? Продвинутость только в
AB> гуевости указания опций дифференциального бэкапирования ?
кстати да. Зачем искать что-то готовое, когда нормальный скрипт для создания
бекапов пишется за 5-10 минут.
Вот писал для какого-то сервера, не помню. Можно конечно и получше конечно
написать, но и этого вполне достаточно в большинстве случаев.
Бэкапит хоумы, все базы mysql'а и htdocs. Все бекапы пихает в хоум
указанного юзера.
#!/bin/sh
#
#####
backdir="/mnt/backup/`date +%Y%m%d`"
sqldir="/usr/local/mysql"
backuser="andrewhost"
backuserdir="/home/$backuser/backup"
# removing old backups
rm -rf $backuserdir
# creating backup dirs
mkdir -p $backdir
mkdir -p $backdir/db
# backup home dirs
tar -zcf $backdir/homes.tar.gz /home
# backup mh htdocs
tar -zcf $backdir/mh.tar.gz /usr/local/apache/htdocs
# backup etc dirs
tar -zcf $backdir/etc.tar.gz /etc
# backuping databases
find $sqldir/data -type d -exec basename {} ;|uniq|while read dbname; do
$sqldir/bin/mysqldump -u root -ppassword $dbname > $backdir/db/$dbname.sql;
done
# moving to home
mkdir -p $backuserdir
mv $backdir $backuserdir
chown -R $backuser $backuserdir
find $backuserdir -type d -exec chmod 700 {} ;
find $backuserdir -type f -exec chmod 600 {} ;
# clean up
rm -rf $backdir