Чтобы осуществлять мониторинг температуры в серверной, на улице и т.д...

Для этого нам понадобится некоторое количество датчиков температуры DS18B20  ( DS1820 ) и адаптер для подключения к COM порту компьютера и Digitemp программа умеет снимать показания с датчиков на  1-Wire шине.

1346781378_image001

Схема адаптера

1346781608_image003

или

1346781624_image005

 

Первая схема имеет ограничение на 10 датчиков.

Диод Шотки 1N5818

Стабилитрон 1N5228 3.9 V

Стабилитрон 1N5234 6.2 V

Резистор 1.5 кОм.

9 -pin'овый разъем ( для подключения к Com — порту материнской платы )

 

Установка Digitemp:

 

# cd /usr/local/src
# sudo mkdir digitemp
# cd digitemp
# sudo wget http://andy.od.ua/pub/digitemp/digitemp-3.5.0_mysql.tar
# sudo tar vxf digitemp-3.5.0_mysql.tar
# cd digitemp-3.5.0_mysql
# sudo apt-get install gcc libmysqlclient15-dev
# sudo make ds9097
# sudo mkdir /usr/local/etc/digitemp

Переместим скомпилированный файл в директорию /usr/local/etc/digitemp

#sudo mv digitemp_DS9097 /usr/local/etc/digitemp/digitemp_DS9097

теперь создадим файл .digitemprc_mysql в нем будут хранится настройки доступа к базе mysql

# sudo nano /usr/local/etc/digitemp/.digitemprc_mysql

вот с таким содержанием

DBNAME digitemp       #Имя базы не больше 32 символов
DBUSER digitemp       #Имя пользователя не больше 16 символов
DBPASS pass           #Пароль не больше 16 символов
DBHOST localhost      #Имя хоста или Ip-адрес не больше 16 символов
DBTABLE digitemp      #Имя таблицы не больше 32 символов
DBCOLUMNS BLANK,TIMESTAMP,SERIAL,TEMPC  #Имена столбцов которые будут записываться в базу

Описание DBCOLUMNS:

BLANK – пусто

TIMESTAMP – дата и время

TEMPC – температура в Цельсиях

TEMPF – температура в фаренгейтах

SERIAL – серийный номер датчика

SENSOR – номер датчика

Любой из вышеперечисленных столбцов могут быть указаны в любом порядке и могут быть дублированы

Теперь создадим таблицу куда будут записываться показания датчиков

# mysql –uимя пользователя –pпароль   имя базы < digitemp.sql

содержимое файла  digitemp.sql

CREATE TABLE `digitemp` (
  `dtKey` int(11) NOT NULL AUTO_INCREMENT,
  `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `SerialNumber` varchar(17) COLLATE utf8_unicode_ci NOT NULL,
  `Fahrenheit` decimal(6,2) NOT NULL,
  `Celsus` decimal(6,2) NOT NULL,
  `Sensor` int(3) DEFAULT NULL,
  PRIMARY KEY (`dtKey`),
  KEY `serial_key` (`SerialNumber`),
  KEY `time_key` (`time`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

инициализация датчиков

# cd /usr/local/etc/digitemp
# ./digitemp_DS9097 -i -s /dev/ttyS0   DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Turning off all DS2409 Couplers
..
Searching the 1-Wire LAN
28D4B1DD030000FC : DS18B20 Temperature Sensor
284FB4DD03000067 : DS18B20 Temperature Sensor
ROM #0 : 28D4B1DD030000FC
ROM #1 : 284FB4DD03000067
Wrote .digitemprc

Программа нашла два датчика, значит устройство работает.

Теперь можно считать информацию со всех датчиков командой

# ./digitemp_DS9097 -a
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Sep 04 21:11:57 Sensor 0 C: 21.12 F: 70.03
Sep 04 21:11:58 Sensor 1 C: 29.56 F: 85.21

Теперь можно создать скрипт для крона, он будет проверять, нет ли  новых  датчиков, и записывать в базу

# sudo nano digitemp.sh

содержимое файла

#!/bin/bash
cd /usr/local/etc/digitemp
/usr/local/etc/digitemp/digitemp_DS9097 -i -s /dev/ttyS0 > /dev/null
/usr/local/etc/digitemp/digitemp_DS9097 -q
запись в крон
# sudo nano /etc/crontab
 добавить в конец файла Так крон будет каждые пять минуть запускать скрипт
*/5 * * * * root /usr/local/etc/digitemp/digitemp.sh
перезапустить крон
# sudo service cron restart
для отображения показаний в виде графика можно использовать php, скрипт можно взять здесь.

Clam AntiVirus — пакет антивирусного ПО, работающий во многих операционных системах, включая Unix-подобные ОС, OpenVMS, Microsoft Windows и Apple Mac OS X.
Выпускается под GNU General Public License и является свободным программным обеспечением.
Для самой Ubuntu — антивирус не нужен, но вот если к вам пришел друг и говорит: «а проверь ка мне флешку на вирусы...»
Для установка ClamAV введите команду:

sudo apt-get install clamav

Для обновления баз данных вводим команду:

sudo freshclam

Проверка всей системы:

sudo clamscan -r /

(-r — рекурсивная проверка, опция --bell — воспроизводить звуковой сигнал при обнаружении проблемы)

Проверка отдельного каталога:
sudo clamscan -r /media/DataDisk/soft

Ключи:
— i - при сканировании показывать только инфицированные файлы
Пример:
сканируем домашнюю папку

sudo clamscan -r ~ -i

— move  - перемещать инфицированные файлы в отдельную папку
Пример:
перемещаем подлецов в папку infected_files, которую надо предварительно создать

sudo clamscan -r / -move=/infected_files

— remove — удаление инфицированных файлов
Пример:

sudo clamscan -r / -remove

Глубина проверки по-умолчанию составляет 15 уровней для каталогов, 8 для архивов. Изменить ограничение можно с помощью опций:

— max-recursion — для архивов;
— max-dir-recursion — каталоги;
— max-mail-recursion — e-mail.

Кроме того, по-умолчанию программа только сообщает о проблемных файлах, но не удаляет их. Для того, что бы в процессе проверки выполнялись действия — необходимо указать соответствующие опции:

— remove — удалить вирус;
— move=путь — переместить;
— copy=путь — скопировать.

Для ведения лога процесса проверки — используется опция —log.

Теперь — можно запустить проверку.

При проверке укажем:

# clamscan -i -r --bell --max-dir-recursion 50 --copy /home/Infected/ --log=/var/log/clamav.log /media/1D3A-20CC/

— i — выводить информацию только о зараженных файлах;
— r — проверять подкаталоги;
— bell — подать звуковой сигнал при обнаружении вируса;
— max-dir-recursion 50 — проверять до 50 уровней вложенности каталогов;
— copy /home/Infected/ — при обнаружении вируса копировать его в каталог /home/setevoy/Infected/;
— log=/var/log/clamav.log — записывать события в файл лога /var/log/clamav.log;
/media/1D3A-20CC/ - каталог, который необходимо сканировать.

Обновление антивируса ClamAV
Самый простой путь — запускать обновления с помощью cron. Для этого — выполняем:

# crontab -e

И добавляем новое задание:

0 0 * * * /usr/bin/freshclam —quiet -l /var/log/clamav/clam-update.log

Эта строка будет запускать обновление в 0 минут 0 часов каждый день.

Другой вариант — запустить обновление в режиме «демона» командой:

# freshclam -d -c 2 -l /var/clamav/log/clam-update.log

— d — указывает способ запуска (daemon),
— c — количество обновлений в сутки, в данном случае 2 раза,
— l — файл лога.

Параметры обновления устанавливаются в файле /etc/clamav/freshclam.conf. Например, для изменения количества обновлений в сутки — измените в нём строку:

В связи с сменой реквизитов предприятия, необходимо было перейти на новый домен,так как на старом крутился мыльник (exim) на 100чел. нужно было настроить безболезненный переход на новый домен.
Для решения нашей задачи, необходимо добавить в конфиг exim следующий маршрут:

domain_to_domain_redirect:
driver = redirect
allow_fail
allow_defer
domains = domain1
data = ${quote:$local_part}@domain2

теперь вся входящая почта для domain1, будет перенаправляться на domain2.

Tmpfs — предназначена для ускорения работы ОС FreeBSD (монтирования FS, но размещается в ОЗУ вместо HDD), она портированна с NetBSD и впервые входит в состав FreeBSD 7.0.
В основном в UNIX, tmpfs используют для работы с /tmp, так как после перезагрузки все файлы удаляются. Tmpfs динамически использует свободную память.

Первым делом пересоберем ядро с поддержкой tmpfs:

options TMPFS

Если этого делать не охота, включаем модулем ядра:

# echo 'tmpfs_load="YES"'>> /boot/loader.conf

Для монтирования ФС с помощью tmpfs, доступны следующие опции:

     gid — root group id.
uid — root user id.
mode — разрешения в восьмеричном формате.
inodes — максимальное количество дескрипторов.
size — максимального размера (в байтах) для файловой системы.

Заменяем в /etc/fstab, swap на tmpfs:

#/dev/ad6s1e            /tmp            ufs     rw              2       2
 tmpfs                   /tmp            tmpfs   rw,mode=1777    0       0

где в опциях указываем «mode=1777», что означает назначить права «chmod 1777 /tmp» после перезагрузки, иначе MySQL не поднимится. Так же можно указать в опциях размер памяти, который будет выделен под раздел: size=536870912 в байтах:

tmpfs                   /tmp            tmpfs   rw,mode=1777,size=536870912    0       0

После перезагрузки видим, что все удачно примонтировалось:

# df -h
 Filesystem     Size    Used   Avail Capacity  Mounted on
 ...
 tmpfs          1.1G     40K    1.1G     0%    /tmp
 ...

Настройка доступа извне к определенному ip и определенному порту или как настроить port-mapping на Huawei HG530?
На днях нужно было настроить проброс порта для сервера видеоконференций. У клиента Интернет раздавал модем Huawei HG530.

  1. Заходим в админ-панель устройства (http://192.168.0.1), дефалтовый логин: admin, пароль: admin
  2. Basic > NAT Settings
  3. Выбираем наш задействованный Virtual Circuit, в моем случае он — PVC2
  4. Появляется надстройка Virtual Server
  5. В поле Application указываем имя нашего сервиса
  6. Выбираем протокол, в моем случае TCP
  7. Задаем внешний порт, сразу же под протоколом, Strat Port Number — End Port Number, у меня 443 порт
  8. Указываем внутренний IP сервера или устройства к которому нужно предоставить доступ, у меня он на 192.168.0.10
  9. Задаем внутренний порт устройства к которому необходимо подключение (доступ извне), Strat Port Number — End Port Number, у меня 443-порт
  10. Жмем Submit и перезагружаем модем
  11. Радуемся

pic_1

pic_2

pic_3

Две невероятно полезные команды системного администратора для анализа узких мест системы:

Проверка текущей нагрузки на дисковую подсистему

iostat -x 1

Для подробного анализа производительности, например, диска dm-108 запускается команда. Ключ -m переводит все в мегабайты

iostat -x -m dm-1081

Проверка текущей загрузки сети

iftop -n

iftop недоступен по-умолчанию, для этого следует установить пакет

aptitude install iftop