RU EN

Бэкап и восстановление базы

 

Сохранение дампа:

# Дамп всех баз
pg_dumpall | gzip -c > dump.gz
# Дамп конкретной базы
pg_dump -U postgres -p 5432 db_name | gzip -c > dump.gz

Создаём и заливаем базу:

createdb new_db_name
gunzip -c dump.gz | psql new_db_name

Заливка с сервера на сервер:

pg_dump -h host1 db_name | psql -h host2 db_name
Комментариев: 0
21.11.2012 09:49


Установка Sphinx

 

Для того, чтобы установить Sphinx как расширение PHP, надо предварительно скачать и установить библиотеку и заголовки libsphinxclient, затем и сам Sphinx:

wget https://launchpadlibrarian.net/52743211/libsphinxclient-0.0.1_0.9.9-6ubuntu1%7Eev1_amd64.deb
wget https://launchpadlibrarian.net/52743211/libsphinxclient-0.0.1_0.9.9-6ubuntu1%7Eev1_amd64.deb
sudo dpkb -i libsphinxclient-0.0.1_0.9.9-6ubuntu1~ev1_amd64.deb libsphinxclient-dev_0.9.9-6ubuntu1~ev1_amd64.deb
sudo aptitude install sphinxsearch

Сами ссылки на убунтовские пакеты нашёл по ссылке. Затем скачать из PEAR репозитория расширение и распаковать его в папку php-5.3.15/ext После этого можно приступать к сборке PHP:

cd php-5.3.15/ext
wget http://pecl.php.net/get/sphinx-1.2.0.tgz
tar zxf sphinx-1.2.0.tgz
mv sphinx-1.2.0/ sphinx/
# Возвращаемся в корень php исходников
cd ../
# Собираем и устанавливаем php
./configure --with-sphinx && make && sudo make install
Комментариев: 0
21.11.2012 09:19


HTTP авторизация в nginx

 

Сначала создаём файл авторизации. Для этого с ключем -с запускаем команду:

htpasswd -c /var/www/www.example.com/.access username1
# Последующее добавление пользователей уже без ключа -с
htpasswd /var/www/www.example.com/.access username2

В конфигурацию nginx добавляем следующие строки:

location / {
    auth_basic  "RESTRICTED ACCESS";
    auth_basic_user_file /var/www/www.example.com/.access;
}
Комментариев: 0
11.11.2012 20:09


PHPMD. Инструмент разработчика

 

Полезно периодически запускать MessDetector для отслеживания текущего состояния проекта.

Установка:

# Обновляем ранее установленные пакеты
pear update-channels
pear upgrade
# Установка phpmd
pear channel-discover pear.phpmd.org
pear channel-discover pear.pdepend.org
pear install --alldeps phpmd/PHP_PMD

Запуск скрипта:

phpmd ./ html codesize,unusedcode,naming > report.html
phpmd ./ xml codesize,unusedcode,naming > report.xml

Подробнее о правилах здесь.

Комментариев: 0
02.11.2012 22:38


Магия grep

 

Поиск словосочетания в файле:

grep word /path/file.php
# с указанием строки с совпадением
grep -n word /path/file.php

Рекурсивный поиск в определённой директории:

grep -rn word /var
# с указанием расширения файла
grep -rn --include=*.xml word /var

Указать кол-во строк до (Before) и после (After) совпадения:

grep -A 3 -B 3 -rn --include=*.xml word /var

 

Комментариев: 0
02.11.2012 09:26