автоматизация

warning: Creating default object from empty value in /usr/local/www/drupal6/modules/taxonomy/taxonomy.pages.inc on line 33.

Получил карту IMoneyBank + 100 руб и 17 копеек

На прошлой неделе получил карту iAutoКопилка. Из смешного - выдали только карту, ни тарифов, ни реквизитов - ничего.

Хотел воспользоваться их интернет-банком, вышел какой-то косяк - не принимался пароль, вылечили только вчера. Когда таки зашел в банк увидел баланс 100.17 руб. Т.е. 100 руб. дали за получение карты и начали ежедневно на них начислять %  по 2-3 копейки.

Из приятного, есть автоматические платежи по расписанию и есть получатель в виде "КОМСТАР-Нижний Новгород", у других банков этого получателя не видел. Из минусов, есть минимальная сумма платежа 100 рублей. Т.е. перевести 7 рублей на телефон не получается, соответственно, полностью заменить QIWI не может. angry

На данный момент оплата услуг производится бесплатно. Есть клиент под android - легкий, квадратный, но вполне работоспособный.

Найти реквизиты для перевода денег на карту с первой попытки не получилось - попытался перевести с Русского стандарта 1 рубль по номеру счета и названию банка. Посмотрим - получится или нет.

Cash back на заправках пока непроверял - сейчас Тинькоф возвращает 5% за оплату на заправках.

0
Your rating: Нет

Программы для построения генеалогического дерева

Достаточно давно было желание попытаться построить, хотябы немного, свое генеалогическое дерево, ну или что-то похожее на него.

Недавно Мелкой в школе задали это сделать, она рисовала как могла на бумажке, но это напомнило про идею.

В итоге пошуршал и нашел несколько интересных идей.

Модуль для Drupal для построения генеалогического дерева - Family Tree

Модуль очень простенький, но что-то делать позволяет:

  • Создавать людей с указанием: ФИО, пол, дата и место рождения/смерти, от кого родились, биография
  • Создавать группы (семья) с указанием: тип (незарегистрированный, церковный, гражданский, обычный), дата и место образования/разрушения, описание
  • Создавать места с указанием: страна/город/улица, проживающей семьи. Использование не совсем понятно
  • Автоматически строить генеалогическое дерево, но максимум на 4-е поколения и при этом не очень красиво
  • Отображать состав семьи человека: родителей, с кем был в браке, детей
  • Настраивать права доступа
  • Импортировать информацию из файлов GED (GEDCOM)

Не хватает возможностей:

  • добавлять фотографии
  • экспортировать информацию в файлы GED (GEDCOM)
  • более удобного редактора
  • более красивых деревьев

Может подойти для оперативного просмотра и редактирования информации.

0
Your rating: Нет

Rsync: мелкий скриптик, для заливки данных на сервер

Возникла задача, заливать фотки из разных мест на сервер, так, чтобы они таки лежали в одном месте, а не на разных винтах и флешках, с мыслью, что как-нить разберу.

В итоге на сервере поднят rsync с шарой доступной без авторизации и только для записи:

[photo_rsync]
        path = /usr/photo/rsync
        read only = false
        charset = koi8-r
        write only = true

Для заливки использую скрипт:

if [ $1 ]; then
    echo $1
else
    echo "error path to local dir
    syntax: source_path dest_dir
    - source_path - required, path to your backup data
    - dest_dir - optional, if you need it, name directory to backup"
    exit
fi
rsync -v -c --chmod=ugo=rwX --iconv=utf-8 -a "$1" "my_server::photo_rsync/$2"

В случае, если нужно сразу снести исходник, добавляем ключик --remove-source-files.

Ща найду клиента под винду и подцеплю ссылку с камментом.

0
Your rating: Нет

Раздача картинки с видеокамеры

Возникла задача - нужно ip-камеру, которая выдает RTSP поток, показывать, при чем так, чтобы вне зависимости от количества пользователей, мог справиться и слабый канал.

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

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

Первой мыслью было сделать это все через rtmp потоки через vlc или erlyvideo. Но, похоже, VLC этого просто не умеет, а elyvideo у меня под FreeBSD с первой попытки не завелся, хотя говорят должно отлично работать.

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

С помощью ffmpeg получаем видео и складываем картинки в выбранный каталог:

ffmpeg -i rtsp://user:pass@IP-camera/mpeg4/ch1/main/av_stream -r ${time_caprute} -loglevel quiet pict_%d.jpg > /dev/null 2>&1

После этого полученными файлами вида pict_1.jpg, pict_2.jpg и т.д. нужно обновлять файл pict.jpg. Делаем это следующим образом:

find -s ${base_dir}/  -name "pict_*.jpg" -ctime +${time_update}s -size +${min_size_file} -exec mv {} ${base_dir}/pict.jpg \;

здесь:

0
Your rating: Нет

Будим компьютер по сети имея несколько интерфейсов

Давным-давно было желание научиться будить компьютеры по сети с сервера под FreeBSD.

Когда-то находил програму WOL, но немного поковырявшись с первой попытки у меня не получилось сеё действо.

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

В мане есть такой абзац:

-i HOST
--ipaddr=HOST
    Broadcast packet to this IP address or hostname. This is important
    if your wol client is a multihomed host and you want to send only
    to one subnet (default IP address is 255.255.255.255).

Т.е. если нужно отправить пакет в нужную сеть, то тут ее нужно указать.

Итого получаем:

/usr/local/bin/wol --verbose --ipaddr=10.20.10.255 -w 10 70:71:bc:50:a3:4e

И прекрасно проснувшийся компьютер.

При этом, желательно, не забыть в фаерволе проковырять дырочку на нужный порт, по умолчанию это 40000.

0
Your rating: Нет

Пакетное конвертирование файлов в Linux

Потребовалось сконвертировать стопку файлов, т.к. правильные индейцы делают такие вещи правильно, то пришлось искать, как бы это сделать автоматически.

В итоге получился файл следующего содержания:

#!/bin/sh
for i in *.ogg
do
q1=`echo $i | sed 's/\ /\\ /g'`
q2=`echo $i | sed 's/\ /\\ /g'| sed 's/.ogg/.mp3/'`
ffmpeg -i "$q1"  "$q2"
done

Для пакетного переименования есть утилита rename, но ей пока не пользовался.

0
Your rating: Нет

Мониторинг температуры сервера под FreeBSD и оповещение при превышении

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

В итоге нашел инструменты и наваял скриптики.

Для получения температуры, скорости вращения вентиляторов и напряжения под FreeBSD использовал mbmon, lmmon и sysctl, в зависимости от того, на каком сервере что заработало.

mbmon

Установка как обычно:

cd /usr/ports/sysutils/mbmon
make install clean

При запуске получаем температуру, скорость вращения куллеров и некоторые напряжения на плате:

# mbmon

Temp.= 19.0, 19.0,  0.0; Rot.= 1520, 2220,    0
Vcore = 2.27, 3.50; Volt. = 3.34, 5.62, 12.83,   2.20,  1.69

Из непонятного, если несколько раз подряд запросить данные, то температура будет прыгать на 2-3 градуса.

Для облегчения получения информации, снимаю только температуру с одного датчика и устанавливаю демоном, для этого в /etc/rc.conf добавляю:

mbmon_enable=YES
mbmon_flags=-T1

lmmon

Установка как обычно:

cd /usr/ports/sysutils/lmmon
make install clean

При запуске получил ошибку:

#lmmon
Failed to open device /dev/smb0.
If your system does not support intpm(4),
try to use /dev/io (-i flag) or check
the permissions of /dev/smb0.

0
Your rating: Нет

rsync между windows и FreeBSD

Бился тут с тем, чтобы с компьютера под Windows с помощью rsync забирать данные.

Нашел два варианта сервера под Windows:

После разных попыток, остановился на DeltaCopy. Но возникло две проблемы:

  1. Не корректные имена русских названий файлов
  2. Неправильные права доступа к файлам. Точнее отсутствие права доступа к файлам после синхронизации

Победить русские имена файлов получилось следующим образом:

в файл deltacd.conf вставляем

charset = cp1251

а на FreeBSD rsync запускаем с ключем

--iconv=koi8-r

После этих манипуляций, на FreeBSD появлялись файлы с русскими именами в кодировке KOI8-R

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

--chmod=oug=rx

Возможно не безопасно, но нормально работает.

Итоговый вид deltacd.conf

use chroot = false
strict modes = false
charset = cp1251

[Backup]
    path = /cygdrive/c/Backup
    comment = Backup Drive
    read only = false
    auth users = backup
    secrets file = rsync.secret

Вид rsync.secret

backup:password

0
Your rating: Нет

Отправка файлов по почте из консоли

Достаточно давно, с переменным успехом, у меня возникали потребности отправлять файлы из консоли, а еще точнее из скриптов под никсами. И все никак не мог решить этот вопрос, то ли руки росли не от-туда, то ли с головой что-не так.

Этой ночью таки нашел программу которая это красиво и удобно делает - sendEmail.

Под FreeBSD ставится из портов:

cd /usr/ports/net/sendemail/
make install clean

Использование тоже очень простое:

sendEmail -f my_adress@test.com -t my2_adress@test.com -u Subject -m message -a atachment.file

При необходимости можно указать необходимый сервер SMTP, логин и пароль к нему и т.д.

0
Your rating: Нет

Создание FTP-зеркала

Т.к. потихоньку запускаю в строй бекап сервер потребовалось делать архивную копию сайта расположенного на фтп.

Нашлась программа fmirror -  простенькая, но как раз для этих целей. Судя по описанию, она позволяет только делать локальное зеркало с фтп сервера, но не умеет обратно закачивать или синхронизировать. Зато умеет скачивать только изменившиеся файлы и поддерживает фильтры, что исключить, а что включить. Этого мне вполне достаточно.

Основной причиной выбора этой программы стало то, что у нее нет никаких зависимостей и она написана на C, т.е. по идее должна работать с минимальными затратами и с максимальной скоростью.

Устанавливается во FreeBSD из портов:

cd /usr/ports/ftp/fmirror/
make install clean

Использование:

fmirror -4 -N -S -V1 -d0 -f my_ftp_mirror.cfg

Содержание my_ftp_mirror.cfg

0
Your rating: Нет
Ленты новостей