Жов 052013
 

Как создать .tar.gz или .tar.bz2

tar -cvf file.tar /full/path — создать .tar

tar -czvf file.tar.gz /full/path — создать .tar.gz (архив)
tar -cjvf file.tar.bz2 /full/path — создать .tar.bz2 (архив)

Синтаксис этих примеров:
tar [-ключи] [название архива] [путь, что запаковать]

Как открыть (распаковать) .tar

Чтобы распаковать запаковыный .tar:

tar -xvf file.tar.gz

Синтаксис:
tar [-ключи] [название архива]

В файлах .tar можно хранить несколько папок (структуру папок и файлов).
Лучше использовать с ключами для архивации файла .tar, чтобы в результате получились файлы с расширением .tar.gz (файл .tar сжатый архиватором gzip) или .tar.bz2 (файл .tar сжатый bzip2).
bzip2 лучше сжимает, но с gzip более распространён, поэтому лучше сжимать этим архиватором.
Если у вас установлен WinRAR, то проблем с открытием .tar.bz2 и .tar.gz не будет.

Вер 282013
 

Linux: как заархивировать или зжать zip-ом папку

Первым делом устанавливаем архиватор zip

# apt-get install -y zip

Этим постом – открываю серию, как сделать оперативненько что нидь в линуксе, или проще:

Linux и его команды.

Первое – как зазиповать папку:

# zip -r folder.zip folder
Вер 242013
 

Очистка mysql binlog (бинарный лог mysql)

Для анализа изменений, которые были совершены в базе, в MySQL присутствует замечательный функционал, называемый binlog.
Для этого, в файле my.cnf, нужно вписать строчку

log-bin

Тогда, после перезапуска MySQL, в каталоге с базами (например, /var/lib/mysql или /var/db/mysql), будут создаваться файлы вида mysqld-bin.000001.

Прописываем expire_logs_days=7 в my.cnf
Перезагружаем mysql, затем пишем в консоли mysql

mysql> flush logs;

чтобы очистить логи!

Например есть еще более экстравагантный способ, написать скрипт, который будет запускаться с определенной периодичностью.
Плюс этого метода в том, что можно указать время очистки логов:

#!/bin/sh
echo 'PURGE BINARY LOGS BEFORE NOW() - INTERVAL 30 DAY;' | mysql -u root -pyourrootpassword
Вер 172013
 

FreeBSD Fatal error: Class ‘DOMDocument’ not found

PHP ставился из портов. И вылезла такая вот ошибка:

<?php
$doc = new DOMDocument();
$doc->load('samgaps.xml');
....
?>
Fatal error: Class 'DOMDocument' not found in /web/samgaps/include/main_menu.php on line 2

доставил DOM для PHP из порта (/usr/ports/textproc/php5-dom/). Перегружаем сервер и все работает.

Вер 032013
 

Установить geoip для Apache2 Debian

apt-get install -y libapache2-mod-geoip php5-geoip

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

LoadModule geoip_module /usr/lib/apache2/modules/mod_geoip.so
GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
GeoIPDBFile /usr/share/GeoIP/GeoLiteCity.dat

Возможно подгружаемый модуль окажется, всяко может быть, ищите:

#nano /etc/apache2/mods-enabled/geoip.load
#nano /etc/apache2/mods-enabled/geoip.conf
#nano /etc/apache2/mods-available/geoip.conf

Копируем регулярно обновляемую базу городов:

# wget http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
# gunzip GeoLiteCity.dat.gz
# mv GeoLiteCity.dat /var/lib/GeoIP/GeoLiteCity.dat
# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
# gunzip GeoIP.dat.gz
# mv GeoIP.dat /var/lib/GeoIP/GeoIP.dat

Перегружаем Apache:

/etc/init.d/httpd restart