- Главная... arrow - Статьи...

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

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

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

Подробнее...
 
Скрипт простого мониторинга с отправкой результатов на почту (на примере gmirror).
Автор Охальников Олег   
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 по расписанию.
Автор Охальников Олег   
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
Автор Охальников Олег   
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) | Просмотров: 7174

Подробнее...
 
FreeBSD 8.1 обновление php5-5.3.3_2 до 5.3.4 и возможные проблемы.
Автор Охальников Олег   
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) | Просмотров: 9816

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

Результаты 10 - 18 из 95

#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