линукс
Статьи по этой теме:
Windows vs. Ubuntu
Простое резервное копирование
Давайте я вам расскажу, как работает резервное копирование (бекап) на моем сервере. Самая ценная информация хранится в базе данных. Помимо этого есть еще код движка в репозитории 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
В этом случае нужно удалять файлы, чтобы не занимать место на сервере. А если перед ответственными манипуляциями я запускаю скрипт без параметров, архивы не удаляются, и в случае необходимости данные можно сразу же восстановить.
Вы можете взять этот пример за основу и добавить архивирование другой ценной информации.
Проблемы открытого кода
Статья «Проблемы открытого кода» (via Смирнов). Со многими вещами я согласен, но не со всеми.
Меня очень огорчает, когда я вижу всю эту молодёжь, которая думает, что Linux это круто, в то время как устройство этой системы настолько древнее, что будь она человеком, из неё давно бы песок сыпался. Им бы лучше придумывать что-то новое. Представьте себе молодого выпускника колледжа, специалиста по аэродинамике, который тратит жизнь обслуживая DC 10! (древняя модель самолетов, год выпуска – 1970). Ни один человек в мире, способный на инновации, не стал бы этим заниматься.
Почему, объясните мне, если что-то работает, причем работает хорошо, это надо обязательно выбросить под предлогом древности?
Линукс хороший, лучше него никто не может обрабатывать текстовую информацию. В том числе из-за этого он заслуженно занимает нишу серверных операционных систем.