#Записки о Unix/Linux/BSD/Solaris

VmWare-Server управление машинами из консоли с помощью vmrun
Статьи - SoftWare - статьи, инструкции...
Автор Охальников Олег   
02:02:2011 г.
VmWare-Server (текущая версия 2.0.2) можно бесплатно скачать (после регистрации) и поставить под  Linux с официального сайта. Работает в виде набора демонов, имеет WEB консоль, позволяющую выполнять любые действия с виртуальными машинами. Есть так же бесплатная утилита vmware-converter, которая позволяет на горячую сконвертировать физическую машину в виртуальную (например, на случай, если физическая умирает или по другим причинам). Отвлекся от темы, просто чтобы показать возможности. Возникает вопрос, как бекапить виртуальные машины. Чтобы выполнить 100% рабочий бекап, надо остановить машину, скопировать и запустить. Остановить-Запустить, можно из WEB интерфейса, но этот способ не подходит для автоматизированного бекапа. Тема эта не очень хорошо освещена, но есть очень простой способ управления вирт машинами прямо из консоли с помощью утилиты vmrun. Стандартный мануал к vmware к сожалению не содержит информации, о данной возможности, для ее получения набираем vmrun --info:

Коментарии (2) | Просмотров: 15135

Подробнее...
 
Debian - нумерация сетевых интерфейсов.
Заметки - Коротко о главном...
Автор Охальников Олег   
31:01:2011 г.
При замене сетевых карт на новые им присваиваются новые имена, например, были eth0 и eth1, вставляем новые (вместо старых), смотрим

#mii-tools

имена могут быть другими, например eth2 и eth3. В ряде случаев нужны именно старые наименования. 
За генерацию правила udev, в котором сетевой карте присваивается имя отвечает скрипт /lib/udev/write_net_rules (его можно глянуть в ознакомительных целах, менять в нем ни чего не надо). Этот скрипт генерирует правило  /etc/udev/rules.d/70-persistent-net.rules. Открываем этот файл на правку, скорее всего в нем при замене карт появятся еще две строки, две первые под старые карты и в конце имеют наименование eth0 и eth1, и две новые записи с eth2 и eth3. Далее все просто, первые две записи удаляем, а в новые две за место eth2 и eth3 прописываем eth0 и eth1 - ребутаемся, хотя можно думаю и udev перезапустить. Смотрим

#mii-tools

и если имена стали eth0 и eth1, правим конф /etc/network/interfaces (меняем имена сетевых интерфейсов на те, которые показывает mii-tools) и перезапускаем  /etc/init.d/network restart. Проверяем с помощью ifconfig, теперь должно быть все так, как задумывалось.

Коментарии (2) | Просмотров: 7845

Подробнее...
 
Скрипт простого мониторинга с отправкой результатов на почту (на примере gmirror).
Статьи - Shell - статьи, инструкции...
Автор Охальников Олег   
29:12:2010 г.
Постановка задачи следующая. Есть команда, возвращающая какой-то статус, если говорить о gmirror, то эта команда:

gmirror status

Выводит следующее: 
         Name          Status            Component
         mirror/gm0    COMPLETE          ad4
                                                 ad6
Будем сравнивать MD5 хэши нормального состояния и измененного, для этого выводим MD5 с нормальным статусом COMPLETE: 

# gmirror status | md5
  52a948bc6d41efe4b7e68dfcba048a7e

Почему MD5, а не ищем например по тексту "COMPLETE"? Можно и так и так, только с MD5 более универсально как мне кажется, можно применить в разных задачах.
Ну а теперь собственно сам скрипт: 

# -----------------------------------
# Created  Ohalnikov Oleg
# Support: http://unixa.ru
# -----------------------------------

#!/bin/sh

d=`date '+%Y%m%d'`
h="Hostname"
g=$(gmirror status)
m=" Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script "
x="52a948bc6d41efe4b7e68dfcba048a7e"
y=$(gmirror status | md5)
if [ $x != $y ]
then
echo "$g" | mail -s "Mirror change status $h $d" $m
fi
exit 0

Вначале определяем переменные:
d - дата в формате ГОДМЕСЯЦДЕНЬ (будем писать в тему письма)
h - Имя хоста, который мониторим (будем писать в тему письма)
g - тескт со статусом рейда (будем писать в тело письма)
m - адрес администратора
x -  значение MD5 при нормальном статусе
y - определяем текущее значения MD5, далее сравниваем значение правильное и текущее и если они разные - отправляем письмо.

Скрипт помещаем в crontab (в примере выполняется каждый день в 17:00)

0 17 * * * /root/script/gmstatus.sh


p.s. для RAID ar можно написать по аналогии, команда вывода статуса:

# atacontrol status ar0

Ваш коментарий будет первым | Просмотров: 6402

Подробнее...
 
Crontab в будни и в выходные. Добавление правила в IPNAT по расписанию.
Статьи - Shell - статьи, инструкции...
Автор Охальников Олег   
28:12:2010 г.
Приведу не сложный пример решения следующей задачи...
Необходимо чтобы запросы с внешнего IP с 18:00 до 9:00 редиректились в сеть на локальный IP, а с 9:00 до 18:00 это правило отключалось. Так же необходимо, чтобы в выходные дни правило редиректа работало круглосуточно.  Получается как бы динамический NAT )))))).
Все это можно сделать с помощью crontab и очень простых скриптов.
Итак, в качестве NAT у меня используется IPNAT, необходимое правило выглядит следующим образом:

rdr em1 Inet_IP/32 port 80 -> Local_IP port 3107 tcp

em1 - это внешний интерфейс. Т.е. согласно правилу все коннекты на Inet_IP порт 80 переадресовываются в локалку на Local_IP порт 3107, на котором крутится нужный сервис. Создаем два скрипта однострочника, на добавление правила (ipnat_in.sh) и на удаление правила (ipnat_out.sh).  /etc/ipnat.conf - конфиг с правилами IPNAT.
ipnat_in.sh:

#!/bin/sh
echo 'rdr em1 Inet_IP/32 port 80 -> Local_IP port 3107 tcp' >> /etc/ipnat.conf;

ipnat_out.sh:

#!/bin/sh
cat /etc/ipnat.conf | grep -v Local_IP > /etc/ipnat.conf;

Тестируем в ручном режиме, проверяем /etc/ipnat.conf, первый скрипт должен добавлять в конец файла нужное правило, второй - это правило удаляет. Для того чтобы перечитать правило, нужно выполнить следующую команду:

ipnat -FC && ipnat -f /etc/ipnat.conf

 

Коментарии (2) | Просмотров: 6018

Подробнее...
 
FreeBSD 8.1 обновление php5-5.3.3_2 до 5.3.4 - (httpd), uid 80: exited on signal 6
Статьи - *BSD системы - статьи, инструкции...
Автор Охальников Олег   
28:12:2010 г.
После обновления и решения проблем с модулями, возникли другие проблемы, а именно падения дочерних процессов Apache2.2, при этом весь лог messages забит следующими записями:  

+pid 31457 (httpd), uid 80: exited on signal 6
+pid 31683 (httpd), uid 80: exited on signal 6
+pid 31407 (httpd), uid 80: exited on signal 6
+pid 32331 (httpd), uid 80: exited on signal 6
+pid 32330 (httpd), uid 80: exited on signal 6
+pid 32456 (httpd), uid 80: exited on signal 6
+pid 32474 (httpd), uid 80: exited on signal 6
+pid 32473 (httpd), uid 80: exited on signal 6
+pid 32500 (httpd), uid 80: exited on signal 6
+pid 32497 (httpd), uid 80: exited on signal 6
+pid 31684 (httpd), uid 80: exited on signal 6
+pid 32552 (httpd), uid 80: exited on signal 6
+pid 32557 (httpd), uid 80: exited on signal 6
+pid 32774 (httpd), uid 80: exited on signal 6
+pid 32948 (httpd), uid 80: exited on signal 6
+pid 32972 (httpd), uid 80: exited on signal 6


  Сообщения с периодичностью 1 минута, сайты продолжают работать, но думаю из-за падений производительность много ниже. 
При первоначальной сборке php5-extensions модули в /usr/local/etc/php/extensions.ini добавляются в алфавитном порядке, после пересборки (во время обновления) php5-extensions модули добавляются вразнобой. Мне помогла сортировка модулей по алфавиту. Делаем следующее:

# cat /usr/local/etc/php/extensions.ini | sort > /usr/local/etc/php/extensions.ini_new
# mv /usr/local/etc/php/extensions.ini_new /usr/local/etc/php/extensions.ini
# apachectl restart

Т.е. сортируем первой командой, переименовываем и перезапускаем web сервер. Еще посоветовал бы старую версию сохранить.

Коментарии (4) | Просмотров: 7175

Подробнее...
 
FreeBSD 8.1 обновление php5-5.3.3_2 до 5.3.4 и возможные проблемы.
Статьи - *BSD системы - статьи, инструкции...
Автор Охальников Олег   
27:12:2010 г.
Исходные данные - важный сервер под хостинг, где-то в Нидерландах )))). В ежедневных отчетах по безопасности с недавнего времени неприятная новость:

Checking for packages with security vulnerabilities: Affected package: php5-5.3.3_2 Type of problem: php -- multiple vulnerabilities. Reference: 1 problem(s) in your installed packages found. You are advised to update or deinstall the affected package(s) immediately.

Линк с описанием того, что пофиксили в 5.3.4: http://portaudit.freebsd.org/b2a6fc0e-070f-11e0-a6e9-00215c6a37bb.html  Тут собственно обновление в виде 5.3.4 поспело, надо обновлять ибо не секюрно. Запускаем скрипт ./ports.sh, он делает все сам, чистит, обновляет дерево портов, ищет устарелое и пересобирает. Все проходит без ошибок и вроде работает, но не тут то было, запускаем php -v :

# php -v
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20090626/pcre.so' - Cannot open "/usr/local/lib/php/20090626/pcre.so" in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20090626/fileinfo.so' - Cannot open "/usr/local/lib/php/20090626/fileinfo.so" in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20090626/ming.so' - Cannot open "/usr/local/lib/php/20090626/ming.so" in Unknown on line 0

Deprecated: Directive 'register_long_arrays' is deprecated in PHP 5.3 and greater in Unknown on line 0

Deprecated: Directive 'magic_quotes_gpc' is deprecated in PHP 5.3 and greater in Unknown on line 0
PHP 5.3.4 with Suhosin-Patch (cli) (built: Dec 21 2010 12:36:31)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Эта картина наблюдается на нескольких серверах, один важный, другой домашний, пишу по памяти на важном все сделал. Смотрим на что жалуется пых.

Коментарии (1) | Просмотров: 9817

Подробнее...
 
Простой скрипт бэкапа ( на примере FreeBSD)
Статьи - Shell - статьи, инструкции...
Автор Охальников Олег   
24:12:2010 г.
Резервирование поделю на два вида - это повышение надежности с помощью RAID массивов и избыточное резервирование. Отмечу, что оба подхода должны применяться на ВАЖНЫХ серверах (в лучшем случае - на любых серверах). RAID, например 1 - зеркало, спасет от отказа одного из HDD, если файл сервер с большим количество HDD, то желательнее применять или RAID 10 или RAID 6 (за подробностями в википедию). Т.е. за короткий срок извлекаем поврежденный HDD, вставляем новый синхронизируем и продолжаем работать, наличие HotSwap корзин в данном случае очень желательно. От чего не спасет RAID, так это от человеческого фактора. Например взяли и удалили файл, спохватились, а его уже нет или повредили данные и т.д. Для этого необходима система избыточного резервирования важной информации, на сервере в основном это конфигурационные файлы, базы данных MySQL. В итоге имеем, как минимум 3 HDD, из двух собираем RAID1 (зеркало) и ОТДЕЛЬНЫЙ HDD - под бэкапы важных файлов. Конечно, это не обязательно, это лишь моя точка зрения, моё мнение.
Сам скрипт бэкапа backup.sh не сложный, выглядит следующим образом:


# -----------------------------------
# Created Ohalnikov Oleg
# Support: http://unixa.ru
# -----------------------------------

#!/bin/sh

DIR=/mnt/backup
DATA=`date '+%Y%m%d'`

cd $DIR
mysqldump -u root --password='*****' -l --all-databases | gzip > databases-$DATA.sql.gz
tar -czf named-$DATA.tar.gz /var/named
tar -czf log-$DATA.tar.gz /var/log
tar -czf etc-$DATA.tar.gz /etc
tar -czf locetc-$DATA.tar.gz /usr/local/etc
tar -czf www-$DATA.tar.gz /usr/local/www

for file in *-$DATA.*
do
echo "$file" >> $DIR/current
done
    echo "Backup Server $DATA" | mail -s "Backup Server $DATA" Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script < $DIR/current
rm -f $DIR/current

find $DIR/* -mtime +7 -exec rm {} \;

# <<< THE-END >>>

Коментарии (10) | Просмотров: 42160

Подробнее...
 
FreeBSD 8.1-RELEASE, PHP, PHP-FFMPEG
Статьи - *BSD системы - статьи, инструкции...
Автор Охальников Олег   
03:12:2010 г.
Продолжаем наворачивать функционал на хостинг, основанный на выделенном сервере. На данный момент необходимо прикрутить  PHP-FFMPEG, операционная система:  FreeBSD 8.1-RELEASE.
PHP-FFMPEG - позволяет работать с видео на php с помощью php ))).
Надеюсь первую операцию освоили все - убновляем порты, или командой или скриптом.
Далее ставим ffmpeg, т.к. для работы PHP-FFMPEG потребуются либы.

# cd /usr/ports/multimedia/ffmpeg
make install clean

Я собрал с поддержкой LAME, остальное по дефолту.
Следующий этап, собираем PHP-FFMPEG: 

# cd /usr/ports/graphics/php5-ffmpeg
make install clean

Тут сборка вывалилась с Error, суть которой не вижу autoconf, делаем как в этой статье, а именно выполняем в консоли две команды (верно для bash):

export PHP_AUTOCONF=autoconf
export PHP_AUTOHEADER=autoheader

И повторно 

make install clean

В конце сборки система выдаст, что нужно добавить модуль ffmpeg.so в конфиг /usr/local/etc/php/extensions.ini, проверяем наличие данной строки в этом конфе: 

# grep ffmpeg /usr/local/etc/php/extensions.ini
extension=ffmpeg.so

Все в норме, перезапускаем WEB сервер: 

# apachectl restart

Создаем php файлик где нибудь в корне хостинга:

touch phpconf.php

В нем всего одна функция: 

phpinfo();
?>

Теперь в браузере набираем линк:

http://sitename.ru/phpconf.php

и делаем поиск по слову  ffmpeg: 

ffmpegffmpeg-php version 0.6.0-svn
ffmpeg-php built on Dec 3 2010 10:47:00
ffmpeg-php gd support enabled
ffmpeg libavcodec version Lavc52.72.2
ffmpeg libavformat version Lavf52.64.2
ffmpeg swscaler version SwS0.11.0

Как видим, PHP теперь имеет поддержку FFMPEG.

Материал подготовил:
Охальников Олег aka H@wk!

Коментарии (1) | Просмотров: 5472

Подробнее...
 
Linux - производитель сетевой карты, скорость работы сетевой карты, MAC адрес и т.д.
Статьи - LAN & NET - статьи, инструкции...
Автор Охальников Олег   
27:11:2010 г.
Что-то удобней в одной системе, что-то в другой. Например, чтобы посмотреть подробную информацию о сетевой карте во FreeBSD, достаточно набрать man em например или man rl, зависит от имени сетевой карты. Каждому производителю свое имя и подробный man особенностей тюнинга и возможностей данной сетевой. Более того ifconfig FreeBSD показывает сразу скорость, на которой работает сетевая, в каком режиме и т.д. Но это отступление, что делать и как посмотреть информацию о скорости работы сетевой в Linux, как узнать производителя сетевой карты и т.д. На примере Debian

# ifconfig
eth0 Link encap:Ethernet HWaddr 00:1d:60:00:b6:d1
inet addr:192.168.10.249 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::21d:60ff:fe00:b6d1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:351692 errors:1 dropped:0 overruns:0 frame:1
TX packets:226521 errors:0 dropped:0 overruns:0 carrier:6
collisions:0 txqueuelen:1000
  RX bytes:445966692 (425.3 MiB) TX bytes:21562868 (20.5 MiB)

Считаю вывод ifconfig в Linux не информативным (((((, но что есть. Первый метод, как определить скорость работы сетевой, это глянуть в dmesg

# dmesg | grep eth0
[ 996.163554] atl1 0000:02:00.0: eth0 link is up 1000 Mbps full duplex

Это сокращенный вывод, в котором видно, что сетевая работотае со скоростью 1000 Mbps в режиме  full duplex. 

Коментарии (5) | Просмотров: 32783

Подробнее...
 
FreeBSD, информация о CPU, RAM (памяти) и прочая системная информация.
Статьи - *BSD системы - статьи, инструкции...
Автор Охальников Олег   
23:11:2010 г.
Просмотреть подробную информацию о железе можно с помощью утилиты dmidecode (читает из BIOS). 
Обновляем дерево портов. Далее:

# cd /usr/ports/

# whereis dmidecode

# cd /usr/ports/sysutils/dmidecode

# make install clean

# man dmidecode

и наконец смотрим, что там есть в системе:

# dmidecode | less

Дальше приведу несколько блоков информации о процессоре и памяти к примеру.

Ваш коментарий будет первым | Просмотров: 23360

Подробнее...
 
<< [Первая] < [Предыдущая] 1 2 3 4 5 6 7 8 9 10 [Следующая] > [Последняя] >>

Результаты 31 - 40 из 146

#COMMENT

Блокируем Ylmf-pc на Exim, Bru...
Благодарю за кучу уцелевших нервов:) постоянно приходилось б...
30/05/17 00:02 More...
By Mus

Установка даты и времени в кон...
Спасибо
12/05/17 17:49 More...
By dushka

Раскладка в rdesktop
Огромное спасибо!
28/04/17 14:01 More...
By Виктор

Аутентификация средствами Apac...
подскажите как писать пороль цифры ?пж! :sigh
28/03/17 13:06 More...
By Лиза

Logwatch - мониторинг журналов...
Отлично, очень не хватало. Автору большое спасибо, пиши еще.
25/01/17 02:44 More...
By Gregg

#/tmp

Каким дистрибутивом Вы пользуетесь?

Сейчас на сайте находятся:
2 гостей