Железяка:
Core i5-760, 2x2Gb RAM, 2xHDD 500Gb (RAID1, LVM), +1 HDD 640Gb для бэкапов( /BACKUP ). На нем имеем:
сервер (deb 6.0.3 amd64) Крутятся web,print-server, БД mysql штук 5 и файлопомойка ~ 150Gb ( /winall ) Задача:
1. Полный бэкап OC 1р. в нед, по накоплению 4x бэкапов, циклич. перезапись с самого старого. (необходимо чтобы БД поднялись в случае чего..)
2. Начинать полный бэкап шары 1р. в нед.(думаю заTARивать), и дифференциально его всю неделю потом писать (rsynch-ом?), продолжать в таком духе, пока хватает места под очередной /winall, дальше циклич. перезапись с самого старого. Инструменты:
мой Моск, коллективный разум Linuxforum.ru, tar, rsynch, (dd ?) Вопросы: Q1. Есть чистый поставленый debian, /
Показать
bin
initrd.img
lib64
root
srv
usr
boot
etc
lib
opt
sbin
sys
var
home
lib32
selinux
tmp
vmlinuz
я исключил dev, mnt, media, lost+found, proc Правильно исключил?
У меня в кроне работает вот такая штука http://zenon.sytes.net/rotation-backup/
Только в тело скрипто добавлен слив мускула. В общем-то в скрипт можно добавить цикличный бэкап чего угодно и куда угодно. wink
drBatty, в качестве постпраздничного пожелания/предупреждения: «Когда не в настроении — просто не отвечайте! Практическая польза вашего совета, в данном случае, стремится к нулю.»
Спасибо большое модератору и администратору за помощь и защиту от недружелюбного drBatty и всем откликнувшимся smile .
Что-нибудь обязательно выберу и на основе (скриптов) свояю свое. Тут еще вопрос по тару назрел:
newzenon, спасибо smile . Больше всего понравился (по описанию) rsnapshot. прост в настройке, прозрачный конфиг, все разжевано. Думаю, не стоит мне велосипед изобретать.
drBatty, ну если вы белый и пушистый то я тогда Linus Torvalds :D
Не знал какой именно FM следует R, по-этому и поинтеросовался wtf будет лучше для поставленой (хоть и пустяковой по-сути) задачи.
зы: Пришел сюда не понты колотить (так что рога обламывать не обязательно), а за советом и чтобы научиться хоть чему-то.. (я как бы не говорил что у меня моск в дверной проем не проходит. КАЖДЫЙ "делает" в меру своего уровня iq) и к любым советам, тем более профи форума прислушиваюсь, да и количество сообщений и рейтинг какбЕ, намекают.
Nigelist, баш не знаю, как и еще с 10ток яп, но общее представление сложилось, этого вполен хватает чтобы "чужое добро" переделать под свои нужды.
засунул в крон rsnapshot, скрипт для mysqldump и скрипт с dd, сливающий образ "/" раз м месяц)) Спасибо всем-всем за помощь!
IRL я действительно сейчас такой.
1. я не негр.
2. я небрит.
smile
Enzo_brn написал:
Не знал какой именно FM следует R
man tar
man mysqldump
В вашем случае всё ОЧЕНЬ плохо. Ибо для создания бекапа вашими методами потребуется как минимум часов 240...24000. В сутки. И сервер всё это время будет остановлен. Т.е. это принципиально невозможно. Ну на реальных нагрузках. В тестах "я и моя кошка" всё работает. В случае mysql, на очень слабо загруженной системе (10000 запросов В СУТКИ), и на совсем крохотной БД (сотни метров) такой подход работает, если минут 5..10 в пол-четвёртого утра сервером никто не пользуется. В случае самой системы... Ну тут ведь как... Бекап-то сделается, вот только не факт, что он развернётся. Я имею ввиду IRL.
И да, если уж делаете так (систему), то ныряйте в init 1. Хотя, если вас устроит 99% гарантии, то можно и так, как вы говорите.
СПС) drBatty, не материтесь при детях непонятными словами, smile
drBatty написал:
IRL
Да какая там нагрузка, тут дерЁвня! 4-5 машин, с 10:30 да 18:00 (7,30h/6d) 5 БД по 20-50mb. и файлов ~150gb с изм./день 100-500mb. Имел в виду "/" бэкапится раз/мес, а снэпшоты самбы каждую ночь циклически на мес. Нагрузки почти 0% 24/7 smile - но все же если что-то пропадет(сами снесут не подумав - такое бывало и не раз) будет очень грустно..
СПС) drBatty, не материтесь при детях непонятными словами, smile
IRL
захожу в консоль, набираю:
[console]$ wtf IRL
IRL: in real life[/console]
В первом посте ведь кто писал?
Enzo_brn написал:
Есть чистый поставленый debian
ы?
Enzo_brn написал:
Да какая там нагрузка, тут дерЁвня! 4-5 машин, с 10:30 да 18:00 (7,30h/6d) 5 БД по 20-50mb. и файлов ~150gb с изм./день 100-500mb. Имел в виду "/" бэкапится раз/мес, а снэпшоты самбы каждую ночь циклически на мес. Нагрузки почти 0% 24/7 smile - но все же если что-то пропадет(сами снесут не подумав - такое бывало и не раз) будет очень грустно..
вот С ЭТОГО и надо было начинать. Решение очень простое:
1. делаем всё что нужно прямо в консоли. И ТОЛЬКО в консоли.
2. п1 повторить до полной работоспособности.
3. записываем все набранные вами команды
4. после каждой команды, которая МОЖЕТ завершится с ошибкой пишем что-то типа
text
error_code=$?
if [ $error_code != 0 ]; then
echo "$0:$LINENO: случилась ошибка с кодом $error_code" | tee -a /var/tmp/logfile.log
exit $error_code
fi
ВАЖНО
а)пробелы важны.Как у меня написано, так их и надо расставлять!
text
error_code = $?
bash НЕ понимает.
б) в начале файла должно быть написано
text
#!/bin/bash
причём в ПЕРВОЙ строке.
в) последняя строчка должна быть пустой.
г) сам bash должен быть установлен в системе.
д) некоторые команды _могут_ завершится с ошибкой, но это _не_ ошибка по логике скрипта. Например, команда ls * в пустом каталоге завершается с ошибкой №2. Это особый случай, добавьте в if секцию elif для его обработки.
е) Переменная $PATH должна быть задана там, где запускают скрипт. Иначе получится, (как обычно) - по расписанию не работает, а так - работает.
5. запускаем и смотрим.
6. если что - исправляем ошибку.
7. PROFIT!!!!!11
Enzo_brn написал:
1. Полный бэкап OC 1р. в нед, по накоплению 4x бэкапов, циклич. перезапись с самого старого. (необходимо чтобы БД поднялись в случае чего..)
не проще-ли затарить /var/lib/mysql? И зачем, если есть mysqldump? Одной копии самого сервера хватит. Её надо будет делать раз в году, когда сервер правите (конфиги). Хотя я делаю проще - просто не удаляю, а комментирую старые строчки.
Enzo_brn написал:
2. Начинать полный бэкап шары 1р. в нед.(думаю заTARивать), и дифференциально его всю неделю потом писать (rsynch-ом?), продолжать в таком духе, пока хватает места под очередной /winall, дальше циклич. перезапись с самого старого.
затаривайте. tar умеет делать инкрементальные бекапы. (т.е. дописывает новые файлы к старому архиву). Удобнее найти все новые файлы (man find -newer) и забекапить только их. Распаковать такой "инкрементальный" архив очень просто - называйте файлы по дате, в начале поставьте
text
`date +%s`
(это число сек. с 01.01.1970)
тогда файлы будут отсортированы по дате. И когда распакуются, то распакуются с самых старых. Новые файлы затрут старые (единственный минус - остануться старые, которых нет в посл. бекапе, это не важно и правится руками. И долго. Тоже не важно - разворачивать бекапы нужно редко в идеале - никогда).
что до "циклической перезаписи", это вы не правильный велосипед придумали. Правильный: составьте список бекапов начиная с самого нового, и удалите в списке все строчки с первой до четвёртой.
[console]$ sed -i '1,4d' file_list.txt[/console]
Это те файлы, которые надо удалять. Хотя вооще-то есть специальная утилита logrotate.
drBatty, затролили меня непонятными конструкциями шела smile )), хорошо хоть никто такого "sudo dd if=/dev/zero of=/dev/sda" не предложил, поэтому я надолго ушел читать man-ы, пока есть на чем :D Только вот с командой wtf непонятка вышла - делал по-вашему, но она у меня как то странно себя ведет:
drBatty написал:
захожу в консоль, набираю:[console]$ wtf IRL
IRL: in real life[/console]
ааа, я тоже так попробовал написать но у меня почему-то все по другому..
[console]root@iserver:~# uname -a
Linux iserver 2.6.32-5-amd64 #1 SMP Thu Nov 3 03:41:26 UTC 2011 x86_64 GNU/Linux
root@iserver:~# wtf RTFM
RTFM: Read The Fucking Manual, stupid Dude
root@iserver:~# wtf IRL
bash: wtf: command not found, although you can to try 'wtf IUL'
root@iserver:~# wtf IUL
IUL: in unreal life, drBatty
root@iserver:~#[/console]
Что это за странная команда вобще такая..?