Сохранение дампа:
# Дамп всех баз 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
Для того, чтобы установить 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
Сначала создаём файл авторизации. Для этого с ключем -с запускаем команду:
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;
}Полезно периодически запускать 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
Подробнее о правилах здесь.
Поиск словосочетания в файле:
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