Рейтинг
+4.42
голосов:
1
avatar

Админу на заметку  

Консоль в полосочку

Буду краток:

( x=`tput op` y=`printf %$((${COLUMNS}-6))s`;for i in {0..7};do o=00$i;echo -e ${o:${#o}-3:3} `tput setaf $i;tput setab $i`${y// /=}$x;done; )




Оригинал здесь.

СМС-разводилово: теперь и в доменных зонах

Получил письмо на один из своих ящиков (его имя более-менее легко подбирается словарным перебором):

Гиперссылковый вампир

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

lynx -dump http://mtaalamu.ru | egrep -o -e 'http://mtaalamu.ru/[/0-9a-z.]+html'
http://mtaalamu.ru/blog/1202.html
http://mtaalamu.ru/blog/1119.html
http://mtaalamu.ru/blog/1127.html
http://mtaalamu.ru/blog/1136.html
...

Zimbra 6: отладка работы LDAP

Для получения более подробного лога /var/log/zimbra.log в шестой версии я делаю так (настройки вступают в силу автоматически через пару минут):

su zimbra
zmlocalconfig -e  ldap_common_loglevel="any"


Просмотреть все параметры отличные от по-умолчанию:

( Читать дальше )

Zimbra 6: создание резервной копии LDAP

Создаем директорию под резервную копию LDAP:

mkdir /zimbra-backup
chown zimbra:zimbra /zimbra-backup/


Архивируем данные LDAP:

su – zimbra
/opt/zimbra/libexec/zmslapcat /zimbra-backup


Почитать

Старый добрый ODBC как прокладка для 1С из-под Wine в Linux

В 90-е, когда IT-специалисты получили возможность легко обмениваться информацией благодаря Интернету, мир пребывал в эйфории. Еще бы, столько полезных концепций ринулись в общий котел, превращаясь на глазах в могущественный сплав, позволявший решить (как тогда казалось) любые проблемы. Вот и реляционные базы данных повыползли из полузакрытых корпоративных лабораторий и превратились в повседневное средство решения программистских проблем. Только вот баз данных много, форматы данных и соединений с ними у всех производителей разные… В воздухе витала идея о том, что хорошо бы сделать нечто, позволяющее абстрагироваться от частностей и обращаться к любым базам данных одинаковым способом. Ведь в конечном итоге все они поддерживают SQL-запросы.

И тут самое время вспомнить цитату из "Компьютерной Библии": «Билл был хитрее всех зверей полевых»…



( Читать дальше )

Установка PostgreSQL из исходников в Ubuntu 10.04

Собирать будем из исходного кода:

www.postgresql.org/ftp/source/

Я собрал версию v9.0rc1. Устанавливаем необходимое для сборки:

( Читать дальше )

Никогда не поздно включить русский язык

Допустим, вы по ssh зашли на сервер, где по умолчанию выставлена англоязычная локаль, т.е. все программы норовят выводить сообщения для вас на инглише. Это не всегда понятно. Чтобы вернуться в привычную языковую среду зачастую достаточно ввести:

export LC_ALL=ru_RU.UTF-8 ; mc

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

Кодируем URL из командной строки

Иногда нужно отправить get-запрос на веб-сервер без браузера, например:

wget http://blablabla.bla/hz.cgi?uid=Yababay


Всё это работает до тех пор, пока параметром запроса не становится слово, содержащее нелатинские буквы либо специфические знаки. Например, вариант

wget http://blablabla.bla/hz.cgi?uid=Бабайка

не прокатит. Такие URL-параметры должны быть должным образом закодированы. Как это сделать прямо из командной строки? Секретами делятся консольные гуру с commandlinefu.com.


( Читать дальше )

Мониторинг измнений файлов в директории и создание зеркала директории в Linux

Задача — есть директория в которой добавляются или удаляются файлы. Директория без лишней вложенности. Необходимо в Linux отследить добавление или удаление файлов в директории и скопировать новые / удалить старые в зеркале директории. Это мне нужно было для синхронизации по WebDAV с Alfresco (rsync тут использовать не получится).

Приготовимся прострелить себе ногу:

apt-get install incron


incron — отслеживает изменения в файловой системе и выполняет какие-либо действия.

Создаем /etc/incron.d/dirs-sync с вот таким содержанием:

/отслеживаемая/директория/ IN_CLOSE_WRITE,IN_CREATE,IN_DELETE /etc/script.sh /отслеживаемая/директория /целевая/директория $# $%


Таким образом мы передаем скрипту /etc/script.sh в качестве параметров отслеживаемую и целевую директории, имя файла и флаг события. Сам скрипт:

#!/bin/bash

ext=$(echo $3 | grep -o '\.[^.]*')
if [ $ext == ".doc" ]; then
 if [ $4 == "IN_DELETE" ]; then
   rm -f "$2/$3"
 else
   cp -f "$1"/$3 "$2"/$3 
 fi
fi


Перезапускаем сервис:

service incron restart


В /var/log/syslog можем наблюдать за происходящим:

Aug 29 17:37:15 хост incrond[29172]: (system dirs-sync) CMD (/etc/script.sh /отслеживаемая/директория /целевая/директория test.doc IN_DELETE)


Почитать

Монтируем WebDAV ресурсы Alfresco в Ubuntu

Устанавливаем:

apt-get install davfs2


Монтируем:

mount.davfs http://server:8080/alfresco/webdav/Sites/сайт/documentLibrary/ /mnt/alfresco-dav


Чтобы не нужно было вводить вручную логин и пароль — добавим строчку в /etc/davfs2/secrets:

/mnt/alfresco-dav логин пароль


Можем добавить в /etc/fstab:

http://server:8080/alfresco/webdav/Sites/сайт/documentLibrary/ /mnt/alfresco-dav davfs


И добавить в /etc/rc.local:

mount /mnt/alfresco-dav

Установка Alfresco 3.3 в Ubuntu 10.04 LTS

Отличный мануал по установке Alfresco был найден мною здесь:

www.howtoforge.com/how-to-install-alfresco-community-3.3-on-ubuntu-server-10.04-lucid-lynx

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

( Читать дальше )

Консольные браузеры

Иногда приходится заходить по ssh на удаленные сервера, на которых GUI-интерфейс отсутствует напрочь (xorg не установлен принципиально). При этом бывает нужно что-то поискать во Всемирной паутине. В таких случаях незаменимы консольные браузеры, выводящие текст html-страничек с гиперссылками и даже маломальской разметкой прямо в окно терминала. Классическими вариантами среди программ такого рода являются Lynx, Links и примкнувший к ним японский продукт w3m.


Так выглядит страница Википедии в браузере Lynx. Скриншот урезан по ширине.



( Читать дальше )

Пронумеровать файлы

Не знаю, зачем может пригодиться bash-скрипт нумерующий файлы в текущем каталоге, но выглядит он потрясающе красиво и для освоения возможностей командной строки очень полезен:

i=1
for f in *
do 
    mv "$f" "$((i++)). $f"
done


Это уж не bash, а какое-то почти С-программирование с объявлением переменных, циклами и т.д. Больше всего удивило то, что список файлов можно получить короткой инструкцией

for f in *

вместо

for f `ls`

TikiWiki: LDAP авторизация на сервере Zimbra

TikiWiki — удобный wiki движок, который может применяться, например, как база знаний фирмы (инструкции, фотографии и т.п.) Приятной особенностью TikiWiki является возможность LDAP авторизации (Active Directory, OpenLDAP).

В настройках авторизации TikiWiki (я использую 5ю версию) выбираем пункт «Tiki and LDAP»:



( Читать дальше )