NFS сервер:
1 2 3 4 5 |
на сервер ставим apt-get install nfs-kernel-server nfs-common portmap /usr/allbackup тут все будут бэкапы nano /etc/exports тут ставим какие нужны каталоги /usr/allbackup/name_catalog ip_clienta(rw,sync,no_root_squash,no_subtree_check) применить команду exportfs -a |
NFS на клиенте:
1 2 3 4 |
apt-get install nfs-common portmap rsync mkdir /nfs/name_catalog -p nano /etc/fstab ip_server:/usr/allbackup/name_catalog /nfs/name_catalog nfs rw,sync,hard,intr 0 0 |
Создаем каталоги для бэкапа:
1 |
mkdir -p /root/backup/{www,etc,sql} |
Скрипт для бэкапа:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
touch /root/backupwww ---------------------------------------- #!/bin/bash #[Changes Directory] cd /root/backup #[Stamps the file name with a date] TIMESTAMP=`date +%m-%d-%y-%H%M` #[DB Backup Scripts] # DB Name HOST=localhost DBNAME="basename" USER="username" PASSWORD="password" DUMP_PATH=/root/backup/sql BACK_PATH=/root/backup/www BACK_PATH3=/root/backup/etc #dbname mysqldump --opt -c -e -Q -h$HOST -u$USER -p$PASSWORD $DBNAME > $DBNAME.sql tar czpf $DUMP_PATH/$DBNAME.$TIMESTAMP.tar.gz $DBNAME.sql rm -f $DBNAME.sql #Backing up files tar cvzpf $BACK_PATH/www.$TIMESTAMP.tar.gz --same-owner --exclude=/var/www/site/gruzims/* /var/www tar cvzpf $BACK_PATH3/etc.$TIMESTAMP.tar.gz /etc ----------------------------------------- |
Cкрипт стиралки:
1 2 3 4 5 6 7 |
touch /root/delbackup ----------------------------------------- #!/bin/bash cd /var/backup/ find /var/backup/mysql -name "*.tar.gz" -mtime +30 |xargs /bin/rm -f {}; find /var/backup/www -name "*.tar.gz" -mtime +30 |xargs /bin/rm -f {}; ---------------------------------------- |
Настройка crontab:
1 2 3 4 5 |
crontab -e ---------------------------------------- 0 5 * * * /usr/bin/rsync -a /root/ /nfs/folder синхронизируем бэкапы на сервер nfs 0 2 * * * /root/backupwww скрипт бэкапа ---------------------------------------- |