FreeBSD

Вывод времени в access.log squid в удобочитаемом виде

После установки и настройки squid-4.8_1 в лог полезли записи с временем в секундах.
Чтобы время было указано в привычом для понимания формате смотрим в squid.conf.documented, что время задано по умолчанию в виде:

#logformat squid      %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt

а для acess_log:
# access_log daemon:/var/log/squid/access.log squid

В этом же файле смотрим :
#       Time related format codes:
#
#               ts      Seconds since epoch
#               tu      subsecond time (milliseconds)

Выборочное обновление портов в FreeBSD

Возникла необходимость обновить только php56 одной командой. В принципе, такой вариант возможен не только для php56.
Выполняем:

 pkg info | grep php | awk '{print $1}' | sed 's/-5.6.38//' | xargs pkg upgrade -y

Здесь
pkg info | grep php - выводит совпадения только для установленных пакетов, содержащих php56, что-то вроде
php56-5.6.38                   PHP Scripting Language

awk '{print $1}' выводит только название пакета без его описания
sed 's/-5.6.38//' - обрезает `-5.6.38` в конце, а

Транслитерация в командной строке

Возникла необходимость настроить отправку смс оповещений в системе мониторинга zabbix. Настроил с использованием скрипта согласно мануала zabbix через gsm шлюз.
Но поскольку оповещения приходят на русском языке, что ограничивает размер сообщения, было принято решение настроить транслитерацию чтобы смс приходили в латинице. Ниже прилагаю скрипт, код которого используется в скрипте для отправки смс.

#! /bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
#
# транслитерация по  ГОСТ 7.79.2000 (Транслитерация по системе Б)

Копрование файла с удаленного хоста на локальный с использованием ssh

Есть задача безопасно скопировать файл с сервера на рабочий компьютер который находится за файрволом. Сервер доступен по ssh.

scp username@remotehost:filename /localpath/filename

Можно и так:

ssh -f username@10.11.12.13 -L 45678:10.11.12.13:22 -N
scp -P 45678 username@localhost:/home/username/file.txt .

Здесь сначала создается туннель в котором порт 22 сервера перенаправляется на порт 45678 локальной машины, N - означает не выполнять команд на сервере, f - работать в фоновом режиме, т.е. позже нужно будет уничтожить запущенный процесс.

Обновление samba 3.6 --> samba 4.3

Для обновления более не поддерживаемой версии samba 3.6 на 4-ку:

portmaster -o net/samba43 samba36-3.6.25_3

копируем /usr/local/etc/smb.conf в /usr/local/etc/smb4.conf
копируем каталог /usr/local/etc/samba в /var/db/samba4/private
копируем каталог /var/db/samba /var/db/samba4
изменяем в /etc/rc.conf
samba_enable="YES" на samba_server_enable="YES"
убиваем работающие процессы nmbd и smbd
Запускаем
service samba_server start

см.
http://www.itsacon.net/computers/unix/upgrading-samba-3-to-4/
https://forums.freebsd.org/threads/56260/

Подключение по rdp с использованием ssh туннелей через промежуточный сервер

Использование ssh туннеля для подключения к удаленному рабочему столу windows, в случае если ssh сервер находится в одной сети с компьютером, к рабочему столу которого нужно подключиться, достаточно тривиально.

pager для mysql cli

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

pager more;
или
pager less;
или
\P;

теперь для прокрутки вывода
на один экран вверх-вниз - PgUp - PgDown
на один экран вниз - пробел
на строку вверх-вниз - стрелки
на одну строку вниз- Enter

snmptt и snmptrapd

Для получения snmp трапов программой мониторинга Zabbix можно использовать связку snmptt + snmptrapd.
Под FreeBSD для ее настройки, кроме указаний в документации Zabbix (https://www.zabbix.com/documentation/2.4/ru/manual/config/items/itemtype...), пришлось выполнить следующее:
Добавить пользователя snmptt, являющимся владельцем каталога /var/spool/snmptt, он же домашний каталог пользователя.

# cat /etc/passwd | grep snmptt
snmptt:*:1111:1111:User snmptt:/var/spool/snmptt:/usr/sbin/nologin

Сделать симлинк на файл snmptt.ini в каталог /etc# ls -l /etc/snmptt.ini

pingstat для устройства мониторинга ping2

Есть такое устройство ping2 - http://www.equicom.dp.ua/ping/ping2/ping2.htm
к которому можно подключать датчики, работающие по принципу замыкания контактов, а устройство будет отсылать udp паеты с информацией о состоянии датчиков на сервер с выполняющейся программой pindstat, которую можно взять с сайта производителя под различные linux дистрибутивы и FreeBSD. Программа формирует веб страницу с таблицей состояния датчиков. Кроме того, каждое изменение состояния датчика инициирует запуск скрипта, который может отсылать сообщения, посылать snmp trap сообщения для дальнейшей обработки и т.д.

puppet

puppet - система управления конфигурациями unix машин
установка:
https://docs.puppet.com/puppetserver/2.6/install_from_packages.html#red-...
https://docs.puppet.com/puppet/latest/reference/puppet_collections.html
Простейшие варианты установки - puppetserver для сервера и puppet-agent для клиентов(нодов).
Например, для установки на Centos6 puppet-agent выполнить:

После установки:
https://docs.puppet.com/puppet/3.8/reference/post_install.html

Ленты новостей