Простое резервное копирование
Давайте я вам расскажу, как работает резервное копирование (бекап) на моем сервере. Самая ценная информация хранится в базе данных. Помимо этого есть еще код движка в репозитории 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
Последнюю строчку я добавил для управления судьбой созданных архивов после отправки письма. Чтобы их удалить, скрипт нужно вызывать с параметром delete. Этот параметр используется при автоматическом запуске скрипта с помощью cron (параметры ниже соответствуют ночному запуску два раза в неделю):
15 3 * * 0,3 ~/backup/backup.sh delete > /dev/null
В этом случае нужно удалять файлы, чтобы не занимать место на сервере. А если перед ответственными манипуляциями я запускаю скрипт без параметров, архивы не удаляются, и в случае необходимости данные можно сразу же восстановить.
Вы можете взять этот пример за основу и добавить архивирование другой ценной информации.
Градиент на сайте Яндекса
Среди прочих недавних изменений на Яндексе упоминается градиент на желтой
Я понял, что происходит, когда открыл сайт Яндекса в другом браузере.
.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 для второго по популярности браузера в рунете.
Сайту шесть лет
Сегодня у сайта день рождения. Нужно
Недавно я нашел время на то, чтобы выделить симулятор игры «Жизнь» и статьи о ней в отдельный сайт, и незаметно запустил его недели две назад. В скором времени эти изменения будут отражены в шапке сайта.
Кстати, наверняка среди читателей этого блога есть те, с которыми я не знаком и которые не написали ни одного комментария. Давайте знакомиться! Напишите
Султанов население
«Сколько вы сказали, четыреста сорок три или двести восемьдесят девять?» В таком же духе нам пытается помочь википедия.

В 1000 раз лучше
Другими словами, Россия возвращается к научным программам в космосе и выводит на орбиту радиотелескоп, который по своим характеристикам получаемого изображения в 1000 раз лучше американского «Хаббла».
А то, что «Хаббл» — это не
Для неспециалистов нужно пояснить, что такое сравнение выглядит как фраза: «Мы построили грузовик, который в 1000 раз лучше мерседеса», в которой число 1000 появилось из сравнения грузоподъемности карьерного грузовика и легкового автомобиля.
Ставь на будущее!
Достойный кандидат на конкурс идиотских слоганов.

Рулет «медвед»
Вот еще одна фотография пятилетней давности.

Сейчас смотрится, наверно, уже не так прикольно.
Пять лет назад
Это фото было сделано пять лет назад (и три дня, если быть точным).

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

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

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