Сайт Романа ПарпалакаБлог

Простое резервное копирование

3 августа 2011 года, 20:12

Давайте я вам расскажу, как работает резервное копирование (бекап) на моем сервере. Самая ценная информация хранится в базе данных. Помимо этого есть еще код движка в репозитории subversion, который бы не хотелось потерять. Их и будем архивировать.

Поскольку объем данных небольшой, в пределах нескольких мегабайт, а гигабайты свободного места в почтовом ящике пустуют, там я и решил хранить резервные копии.

Сначала напишем небольшой скрипт, архивирующий данные и отправляющий их на почту. Вот что у меня получилось:

#!/bin/bash
DATE="`date +%Y-%m-%d_%H-%M-%S`"
SVN="s2-backup_$DATE.svn.7z"
MYSQL="mysql-backup_$DATE.sql.7z"

svnadmin dump /path/to/project -q | 7za a -si -p123asd $SVN
mysqldump -ubackup -p123asd --all-databases | 7za a -si -p123asd $MYSQL

echo Backups for $DATE | biabam $SVN,$MYSQL -s "Backups $DATE" mail@example.com

[ -n "$1" ] && [ "$1" = delete ] && ( rm $SVN ; rm $MYSQL )

Сразу замечу, что «123asd» нужно заменить в каждом месте на правильный пароль.

В первых трех строчках мы составляем из текущей даты имена файлов с архивами.

В следующих двух строчках архивируем репозиторий и дамп базы данных. Тут нужно вписать правильный путь до репозитория subversion, а также имя и пароль существующего пользователя базы данных. Используемые здесь архивы 7z компактнее zip, gz и др. На архивы нужно поставить пароль подлиннее, чтобы избавиться от симптомов паранойи по поводу хранения конфиденциальной информации на серверах Гугла.

В предпоследней строчке мы отправляем архивы на электронную почту (не забудьте вписать свою). Программа biabam (вообще-то, это не полноценная программа, а bash-скрипт) отправит наши архивы как прикрепленные файлы.

Последнюю строчку я добавил для управления судьбой созданных архивов после отправки письма. Чтобы их удалить, скрипт нужно вызывать с параметром delete. Этот параметр используется при автоматическом запуске скрипта с помощью cron (параметры ниже соответствуют ночному запуску два раза в неделю):

15  3   *   *   0,3  ~/backup/backup.sh delete > /dev/null

В этом случае нужно удалять файлы, чтобы не занимать место на сервере. А если перед ответственными манипуляциями я запускаю скрипт без параметров, архивы не удаляются, и в случае необходимости данные можно сразу же восстановить.

Вы можете взять этот пример за основу и добавить архивирование другой ценной информации.

    Оставить комментарий

Градиент на сайте Яндекса

26 июля 2011 года, 11:38

Среди прочих недавних изменений на Яндексе упоминается градиент на желтой рамке-стрелке. Этот градиент я мог наблюдать только на скриншотах, а на сайте Яндекса никакого градиента не было.

Я понял, что происходит, когда открыл сайт Яндекса в другом браузере.

.b-head-search_grad_yes {
	background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff09c),to(#f4be02));
	background-image:-moz-linear-gradient(top,#fff09c,#f4be02);
	background-image:linear-gradient(top,#fff09c,#f4be02)
}

Непонятно, кто помешал технологам Яндекса добавить еще одну инструкцию -o-linear-gradient для второго по популярности браузера в рунете.

    Оставить комментарий

Сайту шесть лет

20 июля 2011 года, 21:20

Сегодня у сайта день рождения. Нужно что-нибудь по этому поводу написать. В целом сайт работает в прежнем режиме, но я хочу кое-что на нем изменить для поддержки актуального состояния.

Недавно я нашел время на то, чтобы выделить симулятор игры «Жизнь» и статьи о ней в отдельный сайт, и незаметно запустил его недели две назад. В скором времени эти изменения будут отражены в шапке сайта.

Кстати, наверняка среди читателей этого блога есть те, с которыми я не знаком и которые не написали ни одного комментария. Давайте знакомиться! Напишите что-нибудь в комментариях к этой заметке :)

    5 комментариев
Смотрите также:  Cайту 20 лет · Сайту 10 лет · Сайту пять лет · written.ru четыре года · С трехлетием, written.ru! · У сайта день рождения · Сайту written.ru — год

Султанов население

20 июля 2011 года, 20:40

«Сколько вы сказали, четыреста сорок три или двести восемьдесят девять?» В таком же духе нам пытается помочь википедия.

    Оставить комментарий

В 1000 раз лучше

18 июля 2011 года, 23:25

Другой отжег:

Другими словами, Россия возвращается к научным программам в космосе и выводит на орбиту радиотелескоп, который по своим характеристикам получаемого изображения в 1000 раз лучше американского «Хаббла».

А то, что «Хаббл» — это не радио-, а оптический телескоп, как бы ни при чем.

Для неспециалистов нужно пояснить, что такое сравнение выглядит как фраза: «Мы построили грузовик, который в 1000 раз лучше мерседеса», в которой число 1000 появилось из сравнения грузоподъемности карьерного грузовика и легкового автомобиля.

    Оставить комментарий

Ставь на будущее!

16 июля 2011 года, 15:44

Достойный кандидат на конкурс идиотских слоганов.

    Оставить комментарий

Рулет «медвед»

13 июля 2011 года, 17:12

Вот еще одна фотография пятилетней давности.

Сейчас смотрится, наверно, уже не так прикольно.

    Оставить комментарий

Пять лет назад

9 июля 2011 года, 01:03

Это фото было сделано пять лет назад (и три дня, если быть точным).

В Кишиневе беспредел с рекламой на улицах творится до сих пор.

    Оставить комментарий

О Xром!

4 июля 2011 года, 19:41

О Хром! Как ты прекрасен!

    2 комментария

Восстановление текстов в новой версии S2

15 июня 2011 года, 12:49

В новой версии движка S2, которую я выпустил вчера, появилось очень важное нововведение. Теперь он умеет восстанавливать несохраненные тексты после непредвиденных ситуаций вроде зависаний или падений браузера, случайного закрытия окна и т. д.

Интерфейс простой. При следующем входе в админку выводится вот такое сообщение:

Восстановленный текст из нового окна можно затем скопировать куда угодно.

Реализация тоже крайне простая. Каждые 5 секунд содержимое редактора отправляется в HTML5-хранилище (которое localStorage) и удаляется во время сохранения. При входе в админку отображается сообщение, показанное выше, если в хранилище что-то есть.

С помощью этого способа (в отличие от автосохранения) мы оставляем пользователю контроль над тем, когда сохранять редактируемый текст, но избавляемся от проблемы утери несохраненного текста при компьютерных сбоях или непродуманных действиях пользователя.

    2 комментария

← сюда туда →

Поделиться
Записи