Рейтинг
+1.13
голосов:
1
avatar

Linux  

Работа с сервисами в Debian

Оказывается в debian и ubuntu можно поставить такую же утилиту service как и в RH/CentOS/Fedora.
Для этого нужно просто поставить пакет:
#aptitude install sysvconfig

Бекап на лету

Скрипт создает архив заданной директории, и тут же пишет его на FTP, при этом не создавая файла архива локально.
#! /usr/env/php
<?php
define('DIR', '/home/www');
define('FTP_HOST','');
define('FTP_PORT',21);
define('FTP_USER','');
define('FTP_PASSWD','');
define('FTP_USE_PASSIV_MODE',true);


$ftp_stream = ftp_connect(FTP_HOST,FTP_PORT);
ftp_login($ftp_stream,FTP_USER, FTP_PASSWD);
ftp_pasv($ftp_stream,FTP_USE_PASSIV_MODE);

$h = popen('tar cjf - '.DIR, 'rb');

ftp_fput($ftp_stream, 'test.tar.bz2', $h, FTP_BINARY);
ftp_close($ftp_stream);
pclose($h);
?>

Автоматический бекап

Знаю что для этого есть уже достаточно инструментов. Но мне захотелось написать свой. Скрипт собирает папку home в нее докидывает дамп отдельно каждой базы и отсылает на ftp, при этом предварительно зашифровав файл
<?php
define('USER_DB','');
define('PASS_DB', '');
define('HOST_DB', '');

define('FTP_HOST', '');
define('FTP_USER', '');
define('FTP_PASS', '');

define('ENCODE_PASS', '');//пароль для кодирования файла
define('U_NAME', date('Y_m_d')); //используется для именования папок и файлов


exec('mkdir /backup/'.U_NAME);

exec('cp -r /home /backup/'.U_NAME);

exec('mkdir /backup/'.U_NAME.'/db');
$link = mysql_connect(HOST_DB, USER_DB, PASS_DB);
$db_list = mysql_list_dbs($link);

while ($row = mysql_fetch_object($db_list)) {
     exec('mysqldump -u'.USER_DB.' -p'.PASS_DB.' '.$row->Database.' > /backup/'.U_NAME.'/db/'.$row->Database.'.sql');
}

//exec('tar czf /backup/'.date('Y_m_d').'.tar.gz'.' /backup/'.date('Y_m_d'));
exec('tar czf - /backup/'.U_NAME.' | openssl enc -e -aes-256-cbc -k '.ENCODE_PASS.' > /backup/'.U_NAME.'.tar.gz.encoded');


exec('rm -R /backup/'.U_NAME);

$r = ftp_connect(FTP_HOST);
ftp_login($r, FTP_USER, FTP_PASS);
ftp_put($r, '/backup/'. U_NAME.'.tar.gz.encoded','/backup/'.U_NAME.'.tar.gz.encoded', FTP_BINARY);
ftp_close($r);

exec('rm /backup/'.U_NAME.'.tar.gz.encoded');


//openssl enc -d -aes-256-cbc -in ./archive.tar.gz.encoded | tar -xz    - обратная расшифровка
  • 0
  • 19 октября 2009, 13:02
  • admin
  • 1+1

Репозитории для Qutim (Ubuntu 9.04)

deb http://qutim.org/debian/jaunty jaunty main
deb-src http://qutim.org/debian/jaunty jaunty main

Настройка ProFTPd с MySQL


Задача: настроить ftp сервер который берет юзеров из базы. При этом все операции с файлами юзеров логирует.
Таких мануалов в сети море, но ни одного свежего и работающего я чеcтно говоря не нашел. Данный мануал по большому счету скопирован из мануала под FreeBSD от лисяры. Но адаптирован под Debian Lenny.
Устанавливаем пакет proftpd-mod-mysql:
aptitude install proftpd-mod-mysql


( Читать дальше )

Локализация Debian Lenny

Это опять пост больше для себя — как напоминалка. Если вы закажете себе выделенный сервер, то первое с чего стоит начать, так это с установки локали. Делается это так
# dpkg-reconfigure locales
Но скорее всего вам сначала понадобится установить эти самые локали:
# apt-get install locales

Это все!

Настройка FTP

Долго же пришлось возится мне с настройкой FTP-сервера. Для админа — это конечно рутинная работа, но я то разработчик сайтов. Может кому-то пригодится мое решение. В сети мануалов полно, но вот законченного я так и не видел.
Сразу скажу что существует два основных сервера для ftp — это proftpd и vsftpd. Я ставил оба. Первый как-то мне сразу не понравился — слишком навороченный, много памяти занимает (оперативки). Для меня это очень критично, так как у меня VPS и так слабоват. Так что я остановил выбор на vsftpd. Последний очень легкий и как мне показалось основательно быстрее.
Поставил его из пакетного менеджера:
aptitude install vsftpd


( Читать дальше )

Обновился до ubuntu 9.04

Я работал на ubuntu 8.10 (вернее kubuntu). Решил обновится до последней версии. Но увы! После первого ребута машина отказалась запускаться. Зашел с LiveCD изменил конфиг menu.list что в грабе — запустил. Обнаружил что отвалился звук. Пересобрал из сорцов драйвер ALSA — звук завел. Теперь вроде работает.

Невероято злой на такие обновления. Вот почему на серверах используют старое ПО, в такие моменты это становится понятным.