понедельник, 30 марта 2009 г.
Windows. Не хочет выполняться программа из сетевого окружения
ITVSystems Golden Gate. Обновление и экспорт отчетов
Описание командной строки утилиты экспорта/импорта данных
GGDataExchange.exe [-l логин] [-p пароль] [-txt | -xml]
[-export экспортируемый_файл |
-import импортируемый_файл [-header "строка_заголовка"] |
-report "параметры отчета"]
-l логин - параметр для указания логина администратора, под которым
выполняется подключение к "Золотым Воротам".
-p пароль - пароль администратора
Если логин не указан, но указан произвольный пароль, то
утилита попытается подключиться с пустым именем (это
необходимо, если в базе данных не зарегистрировано ни
одного оператора).
Если логин указан, но пароль не указан, то утилита
попытается подключиться с пустым паролем.
Если указан логин и/или пароль, то утилита не будет
запрашивать логин и пароль у пользователя, а будет
использовать логин и пароль из командной строки.
Если не указан ни логин, ни пароль, то утилита будет
запрашивать логин и пароль у пользователя.
-txt - утилита выполнит экспорт/импорт в формате "Personnel TXT"
-xml - утилита выполнит экспорт/импорт в формате "XML"
-export экспортируемый_файл - утилита выполнит экспорт данных в
указанный файл. При необходимости
создания дополнительных файлов
(например, фотографий сотрудников), эти
файлы будут созданы в том же каталоге,
что и указанный файл.
-import импортируемый_файл - утилита выполнит импорт данных из ука-
занного файла. При необходимости чтения
дополнительных файлов (например, фото-
графий сотрудников), эти файлы будут
загружаться из того же каталога, что и
указанный файл, если в именах
дополнительных файлов каталог не указан.
-header "строка_заголовка" - опция, задающая строку заголовка
импортируемых данных в формате
"Personnel TXT".
Если эта опция не указана, то строка
заголовка является первой строкой
входного файла.
Если эта опция указана, то за ней должна
следовать строка заголовка в двойных
кавычках. Первая строка входного файла
будет считаться строкой данных.
-report "параметры отчета" - утилита выполнит формирование отчета и
экспортирует отчет в csv-файл.
После ключа -report в двойных кавычках должна быть указана строка
параметров отчета. Структура этой строки следующая:
"Report=название_отчета;File=имя_файла;Personnel=сотрудник_или_отдел1;Personnel=сотрудник_или_отдел2;...;Period=период;Header=Off"
Строка не должна содержать пробелов, если только эти пробелы не входят
в название отчета, сотрудника, отдела или имени файла.
Строка должна содержать параметры "Report=название_отчета" и
"File=имя_файла". Другие параметры не являются обязательными.
название_отчета - название отчета в "Золотых Воротах".
имя_файла - имя файла, в который будет записан
сформированный отчет в csv-формате
сотрудник_или_отдел1 - название сотрудника или отдела, по которому
формируется отчет.
Если указано несколько параметров
Personnel=сотрудник_или_отдел, то отчет будет
формироваться по указанным сотрудникам или
отделам.
Если указан параметр Personnel=All, то отчет
будет формироваться по всем сотрудникам или
отделам, имеющимся в базе данных "Золотых
Ворот".
период - строка вида yyyy-mm-dd hh:nn:ss..yyyy-mm-dd hh:nn:ss,
задающая дату и время начала и конца отчетного
периода.
Начало и конец разделены двумя подряд идущими
точками (..). Если время опущено, то считается,
что для начала периода задано начало суток
(0:00:00), а для конца периода задано окончание
суток (23:59:59).
Допускается также задавать период в виде даты
без времени. В этом случае будет формироваться
отчет за сутки (0:00:00..23:59:59).
Допускается задание одного из шести периодов
времени, автоматически привязываемого к текущей
дате:
- LastMonth - прошедший месяц
- CurrentMonth - текущий месяц
- LastWeek - прошедшая неделя
- CurrentWeek - текущая неделя
- LastDay или Yesterday - вчера
- CurrentDay или Today - сегодня
Header=Off - параметр для удаления строки заголовка из
выходного файла.
Допускается указание этого параметра в виде:
- Header=False
- Header=Disabled
- Header=0
Предыдущие версии программы обновляются либо установкой нового пакета, либо обновлением исполняемых файлов поверх установленных. Перед какими-либо действиями сильно рекомендую сделать резервную копию директории программы, а так же резервную копию базы утилитой GGBackUp.
Первый вариант у меня перезаписал файлы базы пустыми. Попытка восстановления из предварительно созданной резервной копии базы успехом не увенчалась - сообщалось об ошибках в разных файлах *.mdf. Перезапись файлов данных из предыдущей версии тоже ничего не дал. Хотя, возможно, я не все файлы заменил - с MSSQL не знаком. Возврат старой версии и обновление исполняемых файлов из новой - тщетно.
Помог второй вариант. Support ITVSystems выслали по почте набор новых исполняемых файлов, которые я записал в директорию со старой версией программы, и все заработало. Отдельное им спасибо за оперативность.
пятница, 27 марта 2009 г.
Удалить все файлы, кроме N самых свежих
ls -rtpA --format=single-column | grep -v \/ | head -n -4 | while read var; do rm "$var"; done
Здесь 4 - количество оставляемых файлов. Директории и резервные копии файлов (~) игнорируются. В том числе обрабатываются файлы с пробелами в именах. Естественно, желательно в ls добавить рабочую директорию.
четверг, 26 марта 2009 г.
Swatch. Установка из исходников
Утилита Swatch (точнее, перловый скрипт) используется для наблюдением за лог-файлами формата syslog. После запуска он наблюдает за указанным лог-файлом и примеряет на него указанные регулярки. При совпадении swatch выполняет указанные действия.
Инсталляция:
- Скачиваем исходники.
- Распаковываем.
- Выполняем последовательность:
perl Makefile.PL. Этот скрипт проверяет наличие в системе необходимых для программы модулей перла. Если какой-то из них не найден, выводится что-то типа
Warning: prerequisite Date::Calc 0 not found at (eval 1) line 219. В этом случае необходимо выполнить командуperl -MCPAN -e "install Date::Calc"
(указав соответствующий модуль) для установки недостающего модуля.
make
make test
make install
make realclean - Создаем файл /etc/swatch/messages.conf, из которого swatch будет брать регулярные выражения и команды для выполнения. Примерный формат таков:
watchfor /SPAMMER/
mail addresses=user\@domain:user\@domain,subject=Here\ is\ NewSpammer
watchfor /sshd.accepted/
mail addresses=user\@domain:user\@domain,subject=server\ user\ logged - Добавляем строку запуска при старте системы в, например, /etc/rc.d/rc.local. Строка примерно такого вида:
/usr/bin/swatch -c /etc/swatch/messages.conf -t /var/log/messages --daemon --pid-file /var/run/swatch.pid --script-dir /var/
среда, 25 марта 2009 г.
*nix. Внешний вид командной строки
set prompt = "`id -un`@`hostname`:(`pwd`)#"
, например
Sendmail. Отправка почты через внешний SMTP-сервер
в sendmail.cf: DSesmtp:[relay.somehost.ru]
Для отправки через резервны SMTP (в случае ошибки отправки штатным путем)
define(`SMART_HOST',`relay.somehost.ru')dnl
FEATURE(`mailertable', `hash /etc/mail/mailertable')dnl
/etc/mail/mailertable
domain1 esmtp:relay1.somehost.ru
domain2 smtp:[relay2.somehost.ru]
MySQL. Очистка бинарных логов
PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';
пятница, 20 марта 2009 г.
Проверка свободного места на FTP-сервере
Один из наших хостеров предоставляет место под резервные копии сервера на своем локальном FTP-сервере. В корне фтп-директории нашей учетки лежит файл quota.txt,в котором записаны занятый объем и доступный объем на сервере. Написал небольшой скриптец, который будучи запускаем по крону проверяет свободное место и отсылает сообщение в случае его недостаточности:
# //** 2009-03-20 17-19-21 Rett Pop [+]:
FTPPATH="ftp://user:pass@ftpserver:/quota.txt"
OUTFILE="/tmp/quota.txt"
WGET=/usr/local/bin/wget
AWK=/usr/bin/awk
GREP=/usr/bin/grep
CAT=/bin/cat
MAILER=/usr/bin/mail
MIN_MB=1000000 #in kilobytes
mailto="admin's email"
SRV_NAME="our server name"
#First downloads quota file
echo $WGET -O $OUTFILE $FTPPATH
if $WGET -O $OUTFILE $FTPPATH
then
DISK_AVAIL=`$CAT $OUTFILE | $AWK '{print $2-$1}'`
if [ $DISK_AVAIL -lt $MIN_MB ];then
echo "$SRV_NAME. Please clean up $SRV_NAME - $DISK_AVAIL KBytes left" > $MAILFILE
$CAT $MAILFILE | $MAILER -s "$SRV_NAME. Please clean up - $DISK_AVAIL KBytes left" $mailto
fi
else
#Sends alert about quotas file retrieve
echo $MAILER -s "$SRV_NAME. Error getting quotas file" $mailto
echo "$SRV_NAME. Error getting quotas file" | $MAILER -s "$SRV_NAME. Error getting quotas file" $mailto
fi
# Removes quotas file for actual information
rm $OUTFILE
среда, 18 марта 2009 г.
BSOD при печати в W2K3 Server x64
Ubuntu 8.10. Пропал звук
После обновления системы Ubuntu пропал звук.Один из вариантов описан здесь:
- Остановить сервер pulseaudio.
- Запустить/перезапустить сервер Alsa.
- В Система/Настройки/Звук устройствами поставитьсоответствующие интерфейсы от Alsa.
вторник, 17 марта 2009 г.
Linux. Flip-Flop - смена MAC-адресов у сетевых интерфейсов
Настроил в сети отслеживание соответствия IP-адресов MAC-адресам посредством Slackware Linux и ARPWatch. Начали сыпаться сообщения о смене MAC-адреса одним из сетевых интерфейсов машины под Linux-ом. Выяснил, что:
- Оба инрефеса включены в одну сеть.
- При опросе IP-адресов в сети Linux отсылает отвечает от той сетевой карты, которая первая получила этот запрос. То есть система видит, что IP относится к ней, и отвечает с того интерфейса, на который был принят пакет проверки.
- ARPWatch репортует о смене MAC-адреса таким-то IP-адресом.
Отключается это поднятием флага arp_filet в /proc/sys/net/ip4v/conf/<соотв. интерфейс>.
понедельник, 16 марта 2009 г.
Arpwatch. Slackware. Сборка из исходников
Финальная строка запуска получилась такая:
arpwatch -i eth3 -n 192.168.0.0/24 -n 192.168.2.0/24 -e
Пока только не разобрался куда же записываются логи программы...
понедельник, 9 марта 2009 г.
Photoshop + AV Broth. Puzzle Pro 2.2 + права пользователя
\Program Files\Adobe\Adobe Photoshop CS3\Plug-Ins\AV Bros Puzzle Pro 2.2\last.data
\Program Files\Adobe\Adobe Photoshop CS3\Plug-Ins\AV Bros Puzzle Pro 2.2\plugin.conf
дополнение нормально работает.