новости книги игры
библиотека программы форум

11.05 11.10 1C 2010 2011 3d Acer action Additional Adobe alt linux ALT линукс в школу altlinux amarok AMD Android Apache apple apt-get ArchLinux asplinux ASUS Asus Eee PC ATI audio avi backup bash beta big buck bunny bind bittorrent blender bluetooth bsd c C++ Calibre Canonical cd Cedega CentOS chrome chromium cisco clamav CLI Damn Small Linux debian Dell desktop dns DOOM DOS download driver dvd e-book Eclipse emacs embedded linux enterprise EPUB Etersoft exim ext2 ext3 ext4 faq FB2 fedora fedora10 fedora8 fedora9 fedoracore firefox firefox3 firewall Flash Fluxbox flv free FreeBSD freeware ftp games gcc gentoo GIMP gnome GNU gnu linux google GPL GRUB gtk GTK+ hackday hdd HDR


   

«    Декабрь 2007    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

Каков ваш возраст?

До 14
14-16
16-18
18-21
21-25
25-30
30-40
40-50
От 50



LinuxTwitter:




Архив:

Октябрь 2011 (91)
Октябрь 2010 (42)
Апрель 2010 (10)
Январь 2010 (29)
Декабрь 2009 (6)
Ноябрь 2009 (31)
Октябрь 2009 (20)
Апрель 2009 (19)
Март 2009 (1)
Февраль 2009 (20)
Январь 2009 (31)
Декабрь 2008 (71)
Ноябрь 2008 (89)
Октябрь 2008 (91)
Сентябрь 2008 (113)
Август 2008 (168)
Июль 2008 (156)
Июнь 2008 (147)
Май 2008 (191)
Апрель 2008 (213)
Март 2008 (197)
Февраль 2008 (195)
Январь 2008 (112)
Декабрь 2007 (146)
Ноябрь 2007 (94)




Партнёры:


 

Добавить в Google Reader
Читать в Yandex.Ленте
Mobile LinuxOpen (test version)

Резервное копирование серверов Linux 

 Мне нравится:


 

Рассмотрены способы резервного копирования серверов на базе OC Linux

1. Backup сервера Linux
Будем сохранять резервные копии выбранных каталогов и файлов каждый рабочий день и всего сервера один раз в неделю, с утра по понедельникам. Для этой цели используем два скрипта:

/home/pavel/backup/backup.sh для ежедневной резервной копии:

# Backup main files
#
#Pavel Malakhov 16.11.04
# 30.11.04 fixed 'command not found: iptables, route'
# 08.12.04 fixed '/usrp/local/... not found'

BDIR="/home/pavel/backup/data" #!! will be deleted after backup
LOGDIR=$BDIR/all_logs
DNSDIR=$BDIR/dns
CMDREPLY=$BDIR/cmd_reply.txt
PREFIX='/home/pavel/backup/'`hostname -s`-`date +%a`

mkdir $BDIR
mkdir $LOGDIR
mkdir $DNSDIR

# copy files to backup dir
cp -r /etc $BDIR
cp -r /var/lib/bind/etc $DNSDIR
cp -r /var/log $LOGDIR
cp /var/drweb/log/drwebd.log $LOGDIR
cp /usr/local/squid/var/logs/access.log $LOGDIR
cp /usr/local/squid/var/logs/cache.log $LOGDIR
cp /usr/local/squid/etc/squid.conf $BDIR

date > $CMDREPLY
echo "== iptables =============" >> $CMDREPLY
/sbin/iptables -t nat -L >> $CMDREPLY
echo "== route ================" >> $CMDREPLY
/sbin/route >> $CMDREPLY

#zip everything in the backup dir
tar -czvf $PREFIX.tar.gz $BDIR > $PREFIX.log

# clean up
rm -rf $BDIR

и /home/pavel/backup/backup_all.sh для резервного копирования всего сервера:

# Backup all files on this server
#
# Pavel Malakhov 03.03.05

cd /
tar cvzf - . --exclude ./home/pavel/backup --exclude ./home/pavel/.apt --exclude ./usr/local/squid/var --exclude ./var/cache/apt/archives --exclude ./proc > /home/pavel/backup/teo_backup_all.tar.gz

Каждый каталог, который мы не хотим помещать в резервную копию, отмечаем параметром --exclude.
Теперь добавим запуск этих скриптов в /etc/crontab:

# backup of the system
0 23 * * 1-5 root /home/pavel/backup/backup.sh
0 23 * * 0 root /home/pavel/backup/backup_all_teo.sh

2. Backup удалённого сервера Linux
Ситуация: на удалённом сервере (10.0.0.4) маленький жёсткий диск и резервная копия там не поместиться. В этом случае создавать и сохранять резервную копию удалённого сервера будем на нашем сервере. Создаём скрипт /home/pavel/backup/backup_all_remote.sh:

# Backup all files on serv2
#
# Pavel Malakhov 03.03.05

ssh 10.0.0.4 "cd /; tar cvzf - . --exclude ./home/pm/backup --exclude ./home/pm/app --exclude ./usr/local/squid/var --exclude ./proc" > /home/pavel/backup/serv2_backup_all.tar.gz

Для выполнения этого скрипта нужно, чтоб на удалённом сервере был разрешён вход пользователю root по протоколу ssh, т.е. в /etc/ssh/sshd_config:

PermitRootLogin yes

Если создать сертификат на сервер, то можно будет входить и без пароля, а тогда скрипт можно будет включить в /etc/crontab (см. соответствующую статью). Без этого придётся вводить пароль и, соответственно, автоматического бэкапа не получится.

3. Перенос созданных копий на Windows машину
Созданные на linux серверах резервные копии, мы будем еженедельно копировать на свой компьютер под управлением Windows и записывать на CD/DVD-RW. Для анализа возможных сбоев процесс копирования записываем в лог. Создаём папку F:Backup, куда кладём скрипт и файл с его параметрами. Также создадим папки для каждого копируемого сервера, напр teo и serv2 F:Backupbackup_linux_week.cmd:

@rem code by Pavel Malakhov 13.04.05
@rem
@rem This code is to get backup from linux servers via ftp weekly.
@rem

date /t > bk_week.log
time /t >> bk_week.log
ftp -s:bk_week.txt >> bk_week.log

в файле параметров F:Backupbk_week.txt указываем к какому серверу подсоединяемся, кем, с каким паролем, что будем брать и куда класть:

open 10.0.0.2
pavel
password
cd /home/pavel/backup

get teo-Tue.log           f:backupteoteo-Tue.log
get teo-Tue.tar.gz       f:backupteoteo-Tue.tar.gz
get teo-Mon.log          f:backupteoteo-Mon.log
get teo-Mon.tar.gz      f:backupteoteo-Mon.tar.gz
get teo-Fri.log             f:backupteoteo-Fri.log
get teo-Fri.tar.gz         f:backupteoteo-Fri.tar.gz
get teo-Thu.log           f:backupteoteo-Thu.log
get teo-Thu.tar.gz       f:backupteoteo-Thu.tar.gz
get teo-Wed.log         f:backupteoteo-Wed.log
get teo-Wed.tar.gz     f:backupteoteo-Wed.tar.gz
get teo_backup_all.tar.gz    f:backupteoteo_backup_all.tar.gz
get serv2_backup_all.tar.gz    f:backupserv2serv2_backup_all.tar.gz
close

open 10.0.0.4
pm
password
cd /home/pm/backup
get serv2-Fri.log            f:backupserv2serv2-Fri.log
get serv2-Fri.tar.gz        f:backupserv2serv2-Fri.tar.gz
get serv2-Mon.log         f:backupserv2serv2-Mon.log
get serv2-Mon.tar.gz     f:backupserv2serv2-Mon.tar.gz
get serv2-Thu.log          f:backupserv2serv2-Thu.log
get serv2-Thu.tar.gz      f:backupserv2serv2-Thu.tar.gz
get serv2-Tue.log          f:backupserv2serv2-Tue.log
get serv2-Tue.tar.gz      f:backupserv2serv2-Tue.tar.gz
get serv2-Wed.log        f:backupserv2serv2-Wed.log
get serv2-Wed.tar.gz    f:backupserv2serv2-Wed.tar.gz

by

Есть ньюанс, который я ещё не смог обойти: при переносе файла меняется дата его создания на текущюю.
Добавляем задание по запуску этого скрипта по понедельникам в 4:00. Пуск - Настройка - Панель управления - Назначенные задания - Добавить задание.

источник статьи   


22 декабря 2007  /   /   ]

Похожие статьи

  • Процедуры резервирования и восстановления данных
  • Использование AMANDA без ленточных накопителей
  • SBackup (Simple Backup Suite)
  • Internet TV в каждый дом.
  • В Наутилусе скоро появится вид списком




  • Комментировать:



    [root@linuxopen.ru ~]$ find
     ©2007 - 2011 @antropoff.ru