LinuxForum.Fans
Тема

Создание бэкапов с минимальной затратой ресурсов.

Автор: Rassol2 10 сообщений 2493 просмотров
#360407

Здравствуйте. Вот решил поменять систему бэкапа, а то делал давно и явно ресурсов трачу на это не мерено. Грубо говоря сейчас все по cp работает )))
Теперь решил все же уделить 1 ночь и настроить хорошо систему бекапа. Ну как хорошо насколько хватает ума.
Вопрос такой.
Имеем 30гб файлов. Которые за сутки редактируют, добавляют , изменяют.
Затем ночью запускаем rsync он подтягивает файлы что изменились или добавились с последнего бэкапа.
Так же нужно хранить 3 копии за последние 3 суток.
И хранить их на том же винчестере глупо поэтому их нужно отправлять куда то на удаленный сервер.

В итоге я решил, пока что , сделать так.

В 3.30 ночи копируем измененные файлы

text
rsync -aulv -x --exclude=*.log /home/ser/ /home/zbackup/user/ser/

А затем примерно в 4.00 запускаем скрипт.

text
#!/bin/bash
# Префикс c датой, чтобы знать от какого числа бэкап
DATE=`date +%F`
# Указываем дерикторию которую будем бекапить.
DIR='/home/zbackup/user'
# Делаем автоотчистку мусора, допустим вам надо хранить старые бэкапы только 3 дня.
find /home/zbackup/user/ -type f -name '**.tgz' -mtime +3 -print -mindepth 1 -delete >/dev/null 2>&1
# Переходим в каталог где лежат сервера пользователей
cd $DIR
# Теперь преступаем непосредственно к созданию архива.
nice -n 19 tar czvf $DATE\_servera.tgz ./ser

Который создает архив и дает ему уникальное имя. Так же удаляет старые архивы.

Но вот сам вопрос. Если копировать файлы через rsync за сутки это чипуха, то вот создание архива с 30гб файлов это куда емкаснее. Винчестер жалко.
Может есть варианты ?

так же это все нужно уносить на удаленный сервер, но пока что не решил как это сделать. Но чувствую что сходу нужно rsync на удаленный посылать.

#360417

А чем не устраивают готовые решения, например, rdiff-backup?

#360420

backupninja + rdiff-backup

#360489
Rassol2 написал:

так же это все нужно уносить на удаленный сервер, но пока что не решил как это сделать. Но чувствую что сходу нужно rsync на удаленный посылать.

Ну и я добавлю. А чем не угодил fsbackup (http://www.opennet.ru/dev/fsbackup/)?
Я им пользуюсь и вполне доволен. Писать на ремутный сервер очень просто - расшарь на нём каталог и пиши в него в свое удовольствие. Можно вообще настроить glusterfs на свою ноду и на ремутную. Тогда вообще всё шоколадно получается. Пишешь в одно место, а данные по двум хостам сами растекаются в зеркало.
Можно, так же, применить BackupPC (поднять на ремутном сервере) и настроить его на архивирование твоей файлопомойки. Он даже лучше, чем fsbackup, так как позволяет гуём поднять куда надо один выбранный с'архивированный файл без распаковки всего архива.

#360610

даже не рассматривал, везде советы по rsync посмотрю ваши советы

#360680
"Rassol2" написал:
Имеем 30гб файлов. Которые за сутки редактируют, добавляют , изменяют.
Затем ночью запускаем rsync он подтягивает файлы что изменились или добавились с последнего бэкапа.
Так же нужно хранить 3 копии за последние 3 суток.

ну нужно

1. rsync'ом перекинуть A=>B

2. если всё хорошо, то tar'ом который на B сжать каталог с бекапом.

3. если всё хорошо, удалить самый старый архив(если их больше двух).

Тогда нагрузки на A почти не будет. Будет на B.

#360940

А чем не устраивают готовые решения, например, rdiff-backup?

емм попробовал, не устраивает ( ну не то что не устраивает пугает )
Скопировал 19гб. на удаленный сервер.
Затем запустил повторно, ну так на Верочку, хотел посмотреть не перезаписывает ли. Файлы не поменялись но по какой то причину rdiff-backup догадался только минут через 5-6 не раньше.

#360961
"Rassol2" написал:
Файлы не поменялись но по какой то причину rdiff-backup догадался только минут через 5-6 не раньше.

Соберите с libastral, тогда он сможет догадаться, взяв информацию из ближайшего хрустального шара, а сравнение файлов будет ненужно (=

#360967

вот вам и преимущество rsync хрустальный шар протерт и всегда готов к гаданию!

#360979

Rassol2, если ты хочешь контролировать файл, используй inotify. Только учти, что изменение файла в каталоге НЕ изменяет сам каталог. Т.ч. если у тебя файлы меняются (т.е. данные в них меняются, например логи растут), то надо на каждый файл собаку вешать.

Однако, большинство ПО в linux изменяют файлы путём стирания и записи нового. Т.ч. inotify сработает, если ты например отредактировал vim'ом какой-то файл, а собаку повесил на каталог.

Войдите или зарегистрируйтесь, чтобы ответить.