~s - скрипты-утилиты

Материал из YourcmcWiki
Перейти к: навигация, поиск

По адресу ~/s я поддерживаю некоторое количество простеньких полезных скриптов для решения различных задачек.

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

FastPerl

Простой однопоточный FastCGI демон для запуска CGI-скриптов в FastCGI-среде без перекомпиляции и дополнительных телодвижений. Хорошо подходит, например, для запуска awstats.

Опции запуска:

-h
вывод справки;
--verbose
подробный вывод;
--pid=PIDFILE
установка пути в pid-файлу;
-l=LOGFILE
установка пути к файлу журнала;
-S=UNIXSOCKET
установка пути к UNIX-сокету, на котором оно будет слушать;
-P=UNIXPORT
установка TCP/IP-порта, на котором оно будет слушать и биндиться к 0.0.0.0 (ко всем интерфейсам);
-r=REGEXP
установка ограничений на SCRIPT_FILENAME. Если оно не удовлетворит регулярному выражению REGEXP, будет отдан ответ HTTP 403 Forbidden.

Init-скрипт прилагается, по умолчанию выполняется под пользователем www-data и группой www-data, логи в /var/log/fastperl.log, сокет в /var/run/fastperl.socket, PID-файл в /var/run/fastperl.pid, без ограничения. Init-скрипт понимает /etc/default/fastperl с переменными:

  • USER=user:group
  • LOGFILE=
  • SOCKET=
  • PIDFILE=
  • RESTRICTION=

Для работы init-скрипта сам демон нужно класть как файл /usr/sbin/fastperl.

apache1-configure

./configure с параметрами для установки Apache 1.x в /usr/local/apache1.

bashrc.any

Команды для переключения кодировок koi8, utf8, cp1251 в Konsole из консоли, не прибегая к помощи менюшек. Версии для KDE 4.x и 3.x.

А команда yc вам не нужна, удаляйте её. :)

convert-filenames

Скрипт для перекодирования имён файлов в каталоге из одной кодировки в другую. Сама ничего не выполняет, только выводит на STDOUT список команд mv A B. Пример использования:

./convert-filenames /path/ cp1251 koi8-r | sh

convert-many

Скрипт для перекодирования множества изображений из одного формата в другой с помощью GraphicsMagick или ImageMagick, возможно, в несколько потоков. Пример использования:

find /path/ -name *.png | xargs ./convert-many png jpg 2 | sh

fromto

Скрипт для перекодирования файлов из одной кодировки в другую. Использовать очень просто:

~/s/fromto cp1251 utf-8 файл1 файл2 ...

Поддерживает все кодировки, понимаемые Perl модулем Encode.

gamin.pl и gamin2.pl

Скрипты для мониторинга файлов и директорий с помощью модуля Sys::Gamin версии 0.1 (gamin.pl) или 0.2 (gamin2.pl, с поддержкой userData). События выводятся на STDOUT. Использовать так:

./gamin.pl /directory1 /directory/2 some.file
./gamin2.pl /directory1 /directory/2 -u UserData2 some.file

Во втором случае со всеми событиями от /directory/2 вы будете получать свои данные UserData2.

gcauthcd.pl

Клиент для МиГ-Телекомовской авторизации (Gagarin-Club AUTHentication Client Daemon), переписанный на Perl’е. Исходников реального gcauthcd я не видел, данный сделан чисто исходя из тривиального реверс-инжиниринга. Сам его и использую, по причине того, что SSL-сертификаты у них давно протухли, виндовый gcauthcd это не парит, а реальный линуксовый работать отказывается, а хакнуть и заставить его не получается по причине статической линковки.

Логин-пароль берёт либо из /etc/gcauth.passwd, либо из файла указанного ./gcauthcd.pl -c /path/to/password.file, в формате «LOGIN:PASSWORD». Опция --fg даёт возможность не сворачивать его в background, --force — запускать при неработающей авторизации, время от времени открыть доступ он тогда всё равно будет пытаться.

mc.color

Настройки цветов для Midnight Commander.

unzip.pl

Используйте вместо стандартного unzip — после разархивации перекодирует кривые имена файлов, бывших русскими внутри архива.

Syntax

Описания синтаксиса для Midnight Commander.

  • Syntax
  • tt.syntax — синтаксис шаблонов Template::Toolkit.
  • tpl.syntax — синтаксис шаблонов Template|VMX::Template
    “Template|VMX::Template” не может быть использован как заголовок статьи на данном сайте.
    .
  • патч для perl.syntax — исправленный синтаксис для Perl кода.