
После истории с rm -rf / я озаботился всетаки каждодневным бэкапом данных, сначала планировал написть свой shell-скриптик, но потом всетаки решил поискать готовое решение...
Цель
- Резервное копирование файлов проектов
- Дамп базы данных проектов (MySQL)
- Выгрузка дампов на удаленный FTP сервер
Средства
В качестве средства для резвного копирования был выбран fsbackup, в силу того, что отвечал нашим целям.
Система была создана для обеспечения резервного копирования серверов разного масштаба на специально отведенном сервере бэкапа.
Установка
make install
Более подробно о работе с Портами и пакетами во FreeBSD, а так же о обновлении дерева портов и установленных пакетов.
Настройка
Создаем директорию для архивов
Сделаем резервную копию и отредактируем конфигурационный файл
vi server_backup.conf
Там все просто, да еще и на русском :)
Теперь укажите используемый конфигурационный файл в create_backup.sh
Настройки для FTP
Файл server_backup.conf
$cfg_type = "remote_ftp";
# Сервер на который будет копироваться бэкап.
$cfg_remote_host = "server.remote.ru:21";
# Логин под которым будет сохранятся бэкап.
$cfg_remote_login = "backup_login";
# Директория куда должны помещаться файлы бэкапа, директория должна присутствовать.
$cfg_remote_path = "/home/backup_login/backup";
# пароль для входа по ftp.
$cfg_remote_password = "backup_password";
Указываем директории и файлы для бэкапа
Доходим до $cfg_root_path и указываем корневую директорию, относительно которой описаны пути для помещения файлов (См. __DATA__).
Указываем директории и файлы для бэкапа (директива __DATA__)
# Fsbackup
/usr/local/fsbackup
!/usr/local/fsbackup/cache
f!.core$
f!^core$
f!.o$
f!.log$
# BSD
/var/db/pkg
/usr/src/sys/i386/conf
# Users and PROJECT's
/home
/root
!/home/ftp
=!.netscape/cache/
=!.mozilla/.*/Cache/
=!.mozilla/.*/NewCache/
=!.mozilla/.*/News/
f!.*.avi$
f!.*.mpeg$
f!.*.mpg$
f!.*.mp3$
# System configuration
/etc
/var/cron/tabs
/var/spool/cron
/usr/local/etc
MySQL бэкап
Для бэкапа MySQL надо отредактировать ./scripts/mysql_backup.sh
Указываем логин, пароль, указываем какие БД нам дампить.
А также необходимо отредактировать стартовый файл ./create_backup.sh и указать что нам нужен бэкап MySQL!
Далее, добавляем в крон запись
0 4 * * * /usr/local/fsbackup/create_backup.sh| mail -s"`uname -n` backup report" root
Краткая и шпаргалка.
Секурность!
По поводу шифрования бэкапа смотрите
Восстановление данных
Для полного восстановления данных из инкрементального бэкапа может использоваться скрипт ./scripts/fsrestore.sh, для восстановления просто отредактируйте пути внутри скрипта и запустите его.


rf -rf / ==> rm -rf /
Cпасибо, поправил!
а чем бэкапить NDBКластер? :)
Ну, во первых fsbackup делает mysqldump, может тем же самым и дампить?)
Как добавить число копий бэкапа в папке old?
А зачем вам OLD? Можете вообще от него отказаться.
$cfg_save_old_backup = 0;
Или по всей видимости надо переписывать скрипт...
Так ведь если я уберу old то тогда у меня будет только один бэкап сделанный прошлым днем и все. а мне хотелось бы что хотя бы бэкапов пять прошлых дней оставались. там к примеру 01.02.09 02.02.09 ...05.02.09 ну а уж потом 01.02.09 заменяется на 06.02.09 Такое как осуществить
>тогда у меня будет только один бэкап сделанный прошлым днем
Тут укажите сколько вы хотите промежуточных бекапов
$cfg_increment_level = 5;
[...] FSBACKUP [...]
[...] fsbackup [...]
[...] freebsd mysql бэкап [...]
[...] fsbackup f [...]
[...] бэкап freebsd [...]
$cfg_increment_level = 5;
Не работает. все прошлым днем.
Ну а сколько раз вы на дню делаете бекапов?
[...] fsbackup [...]
[...] freebsd backup пароль [...]
[...] копирование сервера freebsd [...]
1 раз в день. То есть бэкап каждый день
При $cfg_increment_level = 5 и бекапе раз в сутки, у вас получится 5 промежуточных бекапов (инкрементных) за 5 дней.
Потом все эти промежуточные бекапы объединятся в один архив и поместятся в OLD.
Так? Более подробно опишите все пожалуйста.
[...] FreeBSD настройка бэкапов [...]
adw0rd —
Совершенно верно!!!
Но хотелось бы чтобы просто делался ежедневный полный бэкап отдельной базой, Необходимо так
(а мне хотелось бы что хотя бы бэкапов пять прошлых дней оставались. там к примеру 01.02.09 02.02.09 …05.02.09 ну а уж потом 01.02.09 заменяется на 06.02.09 Такое как осуществить)
[...] freebsd бэкап файлового сервера [...]
[...] fsbackup Оставить комментарий | Comment RSS | Теги: SEO, Сервисы Назад: Hello, World! Далее: Начинающим блоггерам! Выбор блога, регистрация в каталогах, поисковиках и закладках. [...]
joni, если полный бекап, то делайте full_backup и просто в OLD будут все ваши каждодневные полные бекапы.
А потом от ненужных избавляйтесь если хотите, пару строк в sh и проблема решена...
Как делать бекап С Удалённого FTP-сервера ?
Александр, соединяться по ФТП и сливать каталоги, вроде fsbackup не предусмотрена к этому.
Кстати, рекомендую покопаться в сторону монтирования удаленного ФТП как ФС.
Я нашёл способ делать backup ftp:
wget -r ftp://user:pass@domain_name
adw0rd В олд ложится только один бэкам прошлого дня, хочу 5ть. как сделать?
Александр, да, тоже вариант, спасибо! :)
joni, думаю переписать скрипт... Вы читали ман ?
конечно читал. но для меня переписать скрипт действительно сложно. похожих готовых решений нет?
joni, я не встечал... Можете как вариант попробовать , но там тоже надо будет писать какой-то контроллер для управления бекапом.
у меня при копирование выдает ошибку. WARNING: Nothing to backup.
при копировании «чего»?
уже разобрался спс
спасибо, друг. на мотанге наконецто переделал все нахнах :)
неплохая утилита в бекапе, надеюсь не увидим на что она способна при восстановлении :-! ...
плохо что нет версии для печати !!!
int, а что, фигово выглядит при печати? Я тут посмотрел «предварительный просмотр» в браузере... Если не распечатывать камменты — то нормально выглядит
Creating remote_ftp full_backup: all
Can't login to ftp server.
Хотя с указаными данными в конфиге create_backup.sh легко захожу на ftp:
$cfg_remote_host = «ftp.nextmail.ru:21»;
$cfg_remote_login = «zaibizzz@nextmail.ru»;
$cfg_remote_path = «/var/backup/fsbackup»;
$cfg_remote_password = «***»;
чего бы ето?
Единственное что меня смущает — ваш логин. Может надо только «zaibizzz» оставить?
Нет логин именно такой, проверено.Мне кажется что в срипте стоит короткое время ожидание ответа от сервера.А сервер кстати долго разчихляется.Может ето где то можно подправить
Возможно, но я не видел таких настроек. Видимо надо скрипты ковырять
Тогда еще вопросик.Мне нужно одновременно делать бекап и на локадьную машину, и на ftp. Как ето настроить, чтобы два раза не архивировалось все, а лиш один раз: сначала все забекапило, положоло в локальный каталог, апотом ето же передало по ftp ?
не знаю, я бы после выполнения скрипта сам запускал копирование по ftp/sftp (через свой скрипт)