Как стать автором
Обновить

Комментарии 92

Ещё, ИМХО, надо делать бэкап настроек в /usr/ports — тех файлов, что получаются после make config, для «экспресс-восстановления» системы.
Эти файлы лежат в /var/db/ports
Значит, нужно добавить /var/db/ports ;)
я бы еще дату в имя архива добавил и переменные ввел.
Продемонстрируете? :)
/usr/local/bin/rar a -ow -inul -pПАРОЛЬ_НА_АРХИВ /var/tmp/server_backup_`date "+%Y-%m-%d"`.rar
кавычки — те, которые на клавише «ё»
Вот так у меня (отрывок из мастехостовского скрипта):

BackupDirectory="/home/u12345/_backup/"
SourcePrefix="/home/u12345/"
TargetDirectory="/home/u12345/_logs/"

/usr/bin/tar -czvf ${BackupDirectory}www.questor.ru-www-`date "+%Y-%m-%d"`.tar.gz /home/u12345/questor.ru/www
/usr/local/bin/mysqldump --host=u12345.mysql.masterhost.ru --password=123456789 --user=u12345 u12345 | /usr/bin/gzip -c > ${BackupDirectory}questor.ru-sql-`date "+%Y-%m-%d"`.gz
mv -f ${SourcePrefix}questor.ru/logs/*.gz ${TargetDirectory}
Вот именно за помойку в /usr/local я и не люблю бздю.
Это не минус, а плюс. А вот наличие ограничения на количество вхождений пользователя в группы в числе 16 было для меня сюрпризом в свое время. По моему с 7 версии это ограничение сняли, а до этого приходилось исправлять исходники.
НЛО прилетело и опубликовало эту надпись здесь
все, что ставится из портов/пакетов — в /usr/local/etc
все, что в базовой системе — в /etc

стартовые скрипты (rc.d) так же
че непонятного-то? гораздо проще че init
НЛО прилетело и опубликовало эту надпись здесь
Базовая система и то, что устанавливается вместе с системой, все-таки несколько разные вещи. Не находите?
НЛО прилетело и опубликовало эту надпись здесь
Вы что-нибудь слышали о GNU?
НЛО прилетело и опубликовало эту надпись здесь
Боюсь, что нам с вами не о чем говорить.
www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/makeworld.html
Вот то, что входит в «мир» и хратит конфиги в /etc. Всё что поставили из портов в /usr/local/etc. Если снести папку /usr/local, получим чистую базовую систему. А вот в линуксе как раз бардак. Всё скидано в одну кучу. Очень неудобно копаться в папке /etc в поисках, например, конфига ligttpd.
НЛО прилетело и опубликовало эту надпись здесь
Список всего того, что в базовую систему входит можно посмотреть в каталоге с исходниками /usr/src.
Вообще-то на сервере в /usr/local/etc довольно чисто. На домашней машинке побольше, но не столько, сколько навалено на ноуте с Ubuntu.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
откуда такая самоуверенность? напишите в личку, если не против. мне просто хочется пообщатся
Погодите, какую помойку? В /usr/local находится только то, что ВЫ ставили из портов, а не то, что шло вместе с системой (и что, соответственно, редко стоит трогать). В результате, в /usr/local лежит только то, что нужно (зачастую это только apache, php и mysql, ну и ещё парочка сервисов), и не нужно подолгу искать, где же этот гребаный конфигурационный файлик, который вам нужен, как в Linux (особенно раньше, когда во многих дистрибутивах в /etc было под тыщу файлов сразу после установки)…
Да-да, бздя торжественно умыла руки от портов и сказала «это ваша помойка, не моя». Вот за то, что любая установка ПО из портов превращает /usr/local в помойку, я и не люблю бздю. Debian Policy мне больше нравится.
Простите, никто Вам не мешает сменить директорию дефолтной установки на / в make.conf
Разумеется. И ещё сотню параметров при конфигурировании ядра указать. И вообще, LFS во все поля.

Но мне как бы работать, а не на конфиги дрочить. В конфигах чем меньше от дефолтного конфига поменяно, тем лучше. И когда в каждой второй программе приходится руками всё делать самому — нафига оно сдалось?
Вам не проще тогда ли сказать, Вам не нравится policy Freebsd.
В фре дефолтный конфиг под RFC и тюнинг системы нужен ВСЕГДА по-любому для конкретной задачи.
Только простите причем тут каждая вторая программа? В бсд я знаю где всегда можно найти конфиги исходной системы и где можно найти конфиги юзерных. В линуксе как разработчик погулял, так оно и лежит, уже не раз с этим сталкивался и в центоси и в дебиане.
Кстати большинство проблем в фре из-за именно таких разрабов, которые думают портирование под бсд это всего лишь рекомпиляция бинарников.
отсюда и хурьма с my.cnf в /etc и т.п. На самом деле лучше всего это форсировать указанием etcdir в make.conf и prefixdir.
Собственно прелесть FreeBSD в том, что оно работает из коробки.
Захламления нет, всегда все можно найти pkg_info -l pkg.

лучше помойка в /etc?!
В /etc не принято хранить логи, к счастью. В отличие от /usr/local/appname/logs, например.
Это какое такое приложение там хранит логи во Фре?
opps, mailman. Это с ходу. Основную бздю я давно снёс, но там штук 5-6 таких было.
ls -al
total 50
drwxr-xr-x 13 root wheel 512 Sep 27 16:03.
drwxr-xr-x 18 root wheel 512 Sep 29 10:36…
drwxr-xr-x 2 root wheel 15360 Oct 1 11:30 bin
drwxr-xr-x 7 root wheel 512 Oct 1 11:30 etc
drwxr-xr-x 25 root wheel 2048 Sep 28 12:38 include
drwxr-xr-x 2 root wheel 1024 Sep 28 12:38 info
drwxr-xr-x 11 root wheel 11264 Oct 1 11:30 lib
drwxr-xr-x 5 root wheel 512 Sep 27 19:17 libdata
drwxr-xr-x 3 root wheel 512 Sep 28 15:17 libexec
drwxr-xr-x 36 root wheel 1024 Sep 27 18:55 man
drwxr-xr-x 2 root wheel 512 Sep 28 12:38 sbin
drwxr-xr-x 50 root wheel 1024 Sep 28 14:34 share
drwxr-xr-x 2 root wheel 512 Sep 27 16:03 www

Что я делаю не так?! какое приложение хранит тут логи?
ls /usr/local/oops/logs/
access.log oops.log oops.log.1
access.log.0 oops.log.0 oops.log.2
а можно ещё cat /usr/local/etc/oops/oops.cfg |grep logfile ???

Разве система виновата, что кто-то так прописал в конфиге?!
Да и вообще в данном случае вопрос к создателям oops, но ни как ни ко фре… у меня вообще нет логов в /usr/local/
Ну или вопрос к тем, кто собирал этот порт
Руками туда ничего не прописывалось. make && make install.

А вот дальше начинается та-самая-помойка-в-портах-фри-приводящая-к-помойке-в-usr-local.
Странно, у меня из порядка десятка, может, чуть больше, фрей, ни на одной нет такого в /usr/local… странно, конечно
Впрочем, так же странно, что вы ничего не прописывали в конфиг руками… днс, свою сеть и кучу ещё кто-то ж прописал?
А где в Линуксе oops хранит свои логи и кэш? Судя по www.oops-cache.org/help.html — там же: /usr/local/oops/
Так причём тут фря тогда?
У меня возникает нехорошее ощущение от разговора.

В дебиане пакеты перед включением в репозиторий обрабатываются так, чтобы соответствовать debian-policy. В фре нет, мейнтейнеры портов не утруждают себя такими мелочами (чтобы поправить пути по-умолчанию куда нужно). В результате мы имеем помойку.

Другой пример: где хранит конфиг медиавики в BSD? Правильно, в каталоге с прочими php-файлами. Где хранит mediawiki конфиг в Debian? Правильно, в /etc/mediawiki/. Вот это и есть то, почему мне нравится дебиан и не нравится фря.
Спасибо, этим постом Вы ответили на мой первый самый пост: предпочитаете помойку в /etc

Но всё же: где в дебиане oops хранит кэш и логи?

Насчёт mediawiki… я правильно понял, чтобы найти конфиг веб-приложения, Вы предлагаете ими засорять системную директорию, которая не имеет никакого отношения к приложению?? если вдруг я на веб-сервер решу поставить какой-то фреймворк, CMS или ещё что-то, где хранить конфиги-то?? В /etc?! или всё же по-глупому, в каталоге с прочими php-файлами?
В дебиане oops, если бы был, хранил бы конфиги в /etc, постоянные файлы в /usr, файлы, не зависящие от архитектуры в /usr/share, хлам в /var/cache, логи в /var/log. За этим бы следил мейнтейнер, если бы нет, был бы довольно серьёзный bugreport c 'policy violation'.

Если ПО установлено через менеджер пакетов, то его конфиги хранятся там, где хранятся конфиги. Это политика дебиана и она точно отвечает на вопрос «где конфиги приложения».

Кстати, при установке mediawiki на голый дебиан автоматически будет установлено всё, что нужно для работы — php, апач, апачу будут добавлены нужные директивы для нужных модулей, sql, будет создана нужная база, причём обновляться база будет правильно с помощью deb-helpers. (т.е. обновление схемы базы данных при выходе новой версии mediawiki будет осуществляться без ручных интервенций).

Я правильно понял, что у Вас нет под руками oops на Debian? И Вы не можете со 100% уверенностью утверждать, где, как и что хранит oops?

А Suse и Slackware так же хранит?
slackware — та же помойка, что бздя (нет единой идеологии кто где что хранит). SUSE тоже НЕ хранит хлам в /etc и не хранит конфиги в /usr.
По-Вашем мастдаевский реестр должен быть снисхождением господним.
Я как-то уже писал. Главная проблема маздаевского реестра — отсутствие комментариев к ключам и дефолтов. А так, идея вполне здравая.
НЛО прилетело и опубликовало эту надпись здесь
www.ixbt.com/soft/freebsd05.shtml
Однако именно иерархия каталогов FreeBSD может послужить примером для образцового следования духу FHS.
(-:
НЛО прилетело и опубликовало эту надпись здесь
Согласен (-:
С пятницей и удачных выходных! (-:
/var/db/pkg ещё желательно
Еще можно налету дамп архивировать. Хотя бы так:

/usr/local/bin/mysqldump --opt -Aau backup -pПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ_BACKUP | gzip > /var/tmp/all.sql.gz

А то, ясен свет, дампы в таком виде много занимают.
НЛО прилетело и опубликовало эту надпись здесь
А отправка на почту выбрана из легкости реализации или по каким-то религиозным соображениям?
Да отправку на FTP было бы реализовать, пожалуй, даже проще, но нет подходящего сервака. А вы бы куда бэкапились?
По ssh выливал бы на сервер для бэкапов. Необходимость в пароле в таком случае, я думаю, отпадает.
Ну вот нет в распоряжении сервера для бэкапов)
dropbox?
а как?
1) Установить на сервер
2) Скопировать в папку Dropbox файл с бекапом
3) ????
4) ПРОФИТ
Да — я рассматривал этот вариант. Собственно, самое сложное — первый пункт. Должен признаться, дальше дело не пошло)
Хотя как там под фрёй дейстивтльно не понятно. С линуксом элементарно.
Под фрей работает этот скрипт www.andreafabrizi.it/?dropbox_uploader
написан на баш, нужен CURL и все, указываете емайл, пароль и он заливает на дропбокс
у меня папки создаются по дню недели, и за 7 последних дней лежат бэкпапы на дропбоксе
НЛО прилетело и опубликовало эту надпись здесь
>Да не заминусуют меня заядлые линуксоиды, но в качестве архиватора я выбрал RAR, поскольку получившийся архив хотелось для пущей надёжности ещё и запаролить, а tar этого с ходу не умеет.

Автор, открой для себя gpg.

$ cat test.key | gpg --yes --batch --passphrase-fd 0 -c test.txt
> # у кого размер архива будет превышать 25 Мб. (в случае с gmail)
Вот и прошло время, когда люди читали RFC и прочее по протоколам (в данном случае MIME ) и понимали как они работают. А также понимали, что гонять тяжелое файло по протоколам, изначально не предназначенным для этого, — моветон. Да и про всем известный gpg они не в курсе, rar — конечно кошернее.
Сложно с вами не согласиться. В своё оправдание могу сказать только, что нет в распоряжении других мест, куда положить бэкап и, как новичёк, я искал наиболее лёгкие пути для себя.
несколько замечаний:
1) чтобы можно было поднять заново сервер по образу и подобию надо бекапить
/etc — можно целиком, можно только изменённые файлы (изменённые относительно свежеустановленной системы);
/usr/local/etc — аналогично предыдущему;
/var/db/ports — конфиги сборки портов (кто-то в каментах выше уже упоминал)l
/var/db/pkg — список установленных пакетов + зависимости, коррелирует с /var/db/ports;
/var/log — в логах можно найти много полезного ;)
так же, надо смотреть, что в /var может быть полезного-ценного. Я могу сходу припомнить, что там может быть файлик dhcp.leases от dhcpd, который безусловно надо сохранять (хотя конечно от сетки зависит).
2) не могу понять — зачем RAR?!?! это нестандартный архиватор, по умолчанию его нет ни в одной системе и вообще — бессмысленная проприетарщина, зачем он нужен, если bzip2, который всегда под рукой с ключём -9 жмёт либо на уровне, либо лучше рара?!?!
Добавил /var/db/ports и /var/db/pkg и размер архива увеличился на 2 Мб. Ещё на 0,5 после добавления /var/log. Итого у меня на данный момент 13,5 Мб. В принципе, пока терпимо.
Но всё равно ещё одно упоминание о необходимости поиска альтернативы хранилищу)
За bzip2 отдельное спасибо — присмотрюсь!
Открою её одну страшную тайну, файл архива можно резать! Тогда можно будет бекапить объёмы большие 25 мегов.
продолжим срывать покровы с тайны — режет файлы команда split!
Вместо RAR, если уж так хочется, можно взять 7zip. И открытый и пароли умеет.
А вот слать бэкап базы на почту ну очень сомнительно. Только если у вас базы по паре метров…

Надежнее всего писать на ленты :P
7-zip, как и RAR надо ставить, а bzip2 & gzip (ну в общем ZIP) — есть везде, даже на венде, без лишних поисков и установок.

7-zip таки да, крут, но его лучше пользовать если есть чёткая конкретная цель и огромный объём данных, на которых его сила почувствуется, а так — gzip&bzip2!!!
А еще он гораздо медленнее. Зато степень сжатия выше.
Пожалуйста, опишите алгоритм восстановления системы. Еще лучше — если Вы уже пробовали восстановить систему (где-нибудь на виртуалке, например) и у Вас это получилось.
Пока, слава Богу, бэкап не пригождался (тьфу, тьфу, тьфу). Систему и приложения придётся ставить заново, единственно, что у вас будут все конфиги.
А пригодится и выяснится, что бэкап не разбекапливается — что будете делать? Рекомендую таки проверить.
> A script to take daily, weekly and monthly backups of your MySQL databases using mysqldump.
Похоже тот же скриптик, только сбоку )
Не забывайте проверять хотя бы раз в месяц ваши бэкапы.
Был случай с аналогичным скриптом, который в один прекрасный день стал слать на Gmail нулевые архивы.
Хотелось бы посоветовать учиться делать сразу нормально, а не через костыли ;)
Не используйте трубу (|) при gzip. Однажды база разрастёттся и отъест всё память.
Никогда не нужно запускать задания в 0 или 1 минуту =))) Плохая примета. Возьмите 23 или 48 минут.
Спасибо. Хоть в приметы и не верю, но изменю)
Плохая примета, что 99% заданий все назначают на 0 или на 1 минуту. В результате есть шансы, что сервер словит глюк и задание не выполнится. Или решат ребутнуть в худшем случае.
Ну я в принципе так и понял) Согласен.
Когда то грешным делом написал скрипт бэкапа сервера. Он может создавать локальный архив из указанных каталогов, с указанными исключениями; архив mysql-баз. Может закачивать их на указанный FTP-сервер. Автоматически удаляет старые архивные копии (два варианта правил). Есть поддержка полного и инкрементального бэкапов. Работает под FreeBSD и Linux. Есть шифрование архивов и отправка уведомления о результатах на электронную почту.
Ядро amd64 не забудьте.
Вообще правильно делать что-то вроде
type=`uname -a | cut -d " " -f 19`
name=`uname -a | cut -d " " -f 17 | cut -d "/" -f 7`
path1=/usr/src/sys/${type}/conf/${name}

Кому религия не позволяет использовать cut можете юзать awk или sed.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории