Скрипт для бэкапа mysql баз

Написал для себя простенький скрипт (linux bash) для бэкапа всех баз на одном сервере. Его отличительные особенности:

  • Наличие списка исключений (т.е. бэкапим все кроме…)
  • Получение списка всех БД из MySQL (не надо добавлять вновь созданные базы к бекапу)
  • Создание директории под бэкап вида “…/YYYY/mm/dd/HH-MM/”
  • Бэкап каждой базы в отдельный файл вида “YYYY-mm-dd.HH-MM.databasename.backup.sql” (mysqldump бэкапит все в один файл)
  • Архивирование бэкапа в тарбол
  • Зачистка .sql

Собственно к написанию скрипта меня сподвигло именно то что mysqldump бэкапит все что ему сказано в один файл (если требуется восстановить одну базу, то попробуй ее выцарапай из общего дампа…), а создавать отдельную строку для бэкапа всякой новой БД геморно (об этом как минимум надо вспомнить!).

В общем если интересно – прошу под кат:

Continue reading

ProFTPD – symlink = mount

Потребовалось мне сделать на девелопеском сервере логин для временного человечка, который JavaScript кумекает. Это конечно не проблема, но вот что меня в тупик поставило на некоторое время.

Помимо собственно FTP на сервер, человечку нужен был виртуальный хост для его отладочных нужд. Сервер как правило использовался только проверенными людьми, поэтому особо с безопасностью никто особо не заморачивался. Ан вот приспичило. На счастье, попался мне на просторах интерентов документик ProFTPD mini howto, в котором подробно разбирается почему демон не хочет работать с прямыми симлинками из хомяка в docroot виртуальника (в моем случае). Собственно остановился я на этом решении:

Filesystem Tricks […]

To have an exact duplicate of the /var/ftp/incoming directory available in /home/bob/incoming and /home/dave/incoming, use one of these commands:

Linux (as of the 2.4.0 kernel):

  mount --bind /var/ftp/incoming /home/bob/incoming
  mount --bind /var/ftp/incoming /home/dave/incoming

Что я в общем-то и применил.

P.S. Надеюсь дыр в безопасности не добавил )

Устанавливаем Git на CentOS

Поскольку в официальном руководстве на GitHub описана установка только для Ubuntu (через Synaptic и apt-get), на коей как водится свет клином не сошелся, предлагаю вашему вниманию небольшой очерк на тему “как установить GIT” на Redhat-совместимом дистрибутиве CentOS при помощи нескольких простых команд:

Continue reading

Добавляем 2 и более IP в CentOS 5 (RHEL, Fedora)

В основном в своей практике я сталкивался с необходимостью использования двух IP на разных сетевых интерфейсах. Как правило это eth0 и eth1. Но вот потребовалось “навесить” на один интерфейс сначала два, а потом и четыре IP. Сделать это оказалось не сложно, но ранее я такой прием не использовал:

Continue reading

Скрипт просмотра объема памяти, потребляемого процессами в linux

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

Continue reading

Установка QmailToaster на CentOS 5 или Qmail сравнительно малой кровью

Для меня установка QMail это всегда огонь, вода и медные трубы. В репозиториях для CentOS 5 судя по всему пакета нет (и вряд ли будет), поэтому наименее тернистым выглядит полуавтоматическая установка QmailToaster, описание которой приведено ниже (перевод официальной документации):

Continue reading