~s - скрипты-утилиты — различия между версиями

Материал из YourcmcWiki
Перейти к: навигация, поиск
(Syntax)
Строка 1: Строка 1:
По адресу [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/ ~/s] я поддерживаю некоторое количество простеньких полезных скриптов для решения различных задачек.
+
По адресу [{{SVN|vitalif/trunk/scripts/}} ~/s] я поддерживаю некоторое количество простеньких полезных скриптов для решения различных задачек.
  
На данной странице описаны наиболее применимые из них, остальные можно увидеть по [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/ ссылке].
+
На данной странице описаны наиболее применимые из них, остальные можно увидеть по [{{SVN|vitalif/trunk/scripts/}} ссылке].
  
 
=== FastPerl ===
 
=== FastPerl ===
Строка 27: Строка 27:
 
Для работы init-скрипта сам демон нужно класть как файл /usr/sbin/fastperl.
 
Для работы init-скрипта сам демон нужно класть как файл /usr/sbin/fastperl.
  
* [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/fastperl.pl?view=markup fastperl.pl] — сам демон.
+
* [{{SVN|vitalif/trunk/scripts/fastperl.pl|markup}} fastperl.pl] — сам демон.
* [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/fastperl.init?view=markup fastperl.init] — /etc/init.d-скрипт для запуска FastPerl в Debian/Ubuntu системах.
+
* [{{SVN|vitalif/trunk/scripts/fastperl.init|markup}} fastperl.init] — /etc/init.d-скрипт для запуска FastPerl в Debian/Ubuntu системах.
 
* Основан на [http://wiki.codemongers.com/NginxSimpleCGI http://wiki.codemongers.com/NginxSimpleCGI].
 
* Основан на [http://wiki.codemongers.com/NginxSimpleCGI http://wiki.codemongers.com/NginxSimpleCGI].
  
Строка 35: Строка 35:
 
./configure с параметрами для установки Apache 1.x в /usr/local/apache1.
 
./configure с параметрами для установки Apache 1.x в /usr/local/apache1.
  
* http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/apache1-configure?view=markup
+
* {{SVN|vitalif/trunk/scripts/apache1-configure|markup}}
  
 
=== bashrc.any ===
 
=== bashrc.any ===
  
Команды для переключения кодировок koi8, utf8, cp1251 в Konsole из консоли, не прибегая к помощи менюшек. Версии для KDE [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/bashrc.any?revision=706&view=markup 4.x] и [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/bashrc.any?revision=704&view=markup 3.x].
+
Команды для переключения кодировок koi8, utf8, cp1251 в Konsole из консоли, не прибегая к помощи менюшек. Версии для KDE [{{SVN|vitalif/trunk/scripts/bashrc.any?revision=706&view=markup}} 4.x] и [{{SVN|vitalif/trunk/scripts/bashrc.any?revision=704&view=markup}} 3.x].
  
 
А команда yc вам не нужна, удаляйте её. :)
 
А команда yc вам не нужна, удаляйте её. :)
Строка 49: Строка 49:
 
  ./convert-filenames /path/ cp1251 koi8-r | sh
 
  ./convert-filenames /path/ cp1251 koi8-r | sh
  
* http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/convert-filenames?view=markup
+
* {{SVN|vitalif/trunk/scripts/convert-filenames|markup}}
  
 
=== convert-many ===
 
=== convert-many ===
Строка 57: Строка 57:
 
  find /path/ -name *.png | xargs ./convert-many png jpg 2 | sh
 
  find /path/ -name *.png | xargs ./convert-many png jpg 2 | sh
  
* http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/convert-many?view=markup
+
* {{SVN|vitalif/trunk/scripts/convert-many|markup}}
  
 
=== fromto ===
 
=== fromto ===
Строка 67: Строка 67:
 
Поддерживает все кодировки, понимаемые Perl модулем {{CPAN|Encode}}.
 
Поддерживает все кодировки, понимаемые Perl модулем {{CPAN|Encode}}.
  
* http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/fromto?view=markup
+
* {{SVN|vitalif/trunk/scripts/fromto|markup}}
  
 
=== gamin.pl и gamin2.pl ===
 
=== gamin.pl и gamin2.pl ===
Строка 78: Строка 78:
 
Во втором случае со всеми событиями от /directory/2 вы будете получать свои данные UserData2.
 
Во втором случае со всеми событиями от /directory/2 вы будете получать свои данные UserData2.
  
* http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/gamin.pl?view=markup
+
* {{SVN|vitalif/trunk/scripts/gamin.pl|markup}}
* http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/gamin2.pl?view=markup
+
* {{SVN|vitalif/trunk/scripts/gamin2.pl|markup}}
  
 
=== gcauthcd.pl ===
 
=== gcauthcd.pl ===
Строка 87: Строка 87:
 
Логин-пароль берёт либо из /etc/gcauth.passwd, либо из файла указанного <code>./gcauthcd.pl -c /path/to/password.file</code>, в формате «LOGIN:PASSWORD». Опция --fg даёт возможность не сворачивать его в background, --force — запускать при неработающей авторизации, время от времени открыть доступ он тогда всё равно будет пытаться.
 
Логин-пароль берёт либо из /etc/gcauth.passwd, либо из файла указанного <code>./gcauthcd.pl -c /path/to/password.file</code>, в формате «LOGIN:PASSWORD». Опция --fg даёт возможность не сворачивать его в background, --force — запускать при неработающей авторизации, время от времени открыть доступ он тогда всё равно будет пытаться.
  
* http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/gcauthcd.pl?view=markup
+
* {{SVN|vitalif/trunk/scripts/gcauthcd.pl|markup}}
  
 
=== mc.color ===
 
=== mc.color ===
Строка 93: Строка 93:
 
Настройки цветов для Midnight Commander.
 
Настройки цветов для Midnight Commander.
  
* [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/mc.color?view=markup Чёрный фон].
+
* [{{SVN|vitalif/trunk/scripts/mc.color|markup}} Чёрный фон].
* [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/mc-for-production.color?view=markup Чёрный фон, красные менюшки] — использую на боевых серверах, чтобы сразу понимать, где находишься.
+
* [{{SVN|vitalif/trunk/scripts/mc-for-production.color|markup}} Чёрный фон, красные менюшки] — использую на боевых серверах, чтобы сразу понимать, где находишься.
  
 
=== unzip.pl ===
 
=== unzip.pl ===
Строка 100: Строка 100:
 
Используйте вместо стандартного unzip — после разархивации перекодирует кривые имена файлов, бывших русскими внутри архива.
 
Используйте вместо стандартного unzip — после разархивации перекодирует кривые имена файлов, бывших русскими внутри архива.
  
* http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/unzip.pl?view=markup
+
* {{SVN|vitalif/trunk/scripts/unzip.pl|markup}}
  
 
=== Syntax ===
 
=== Syntax ===
Строка 106: Строка 106:
 
Описания синтаксиса для Midnight Commander.
 
Описания синтаксиса для Midnight Commander.
  
* [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/Syntax?view=markup Syntax]
+
* [{{SVN|vitalif/trunk/scripts/Syntax}} Syntax]
* [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/tt.syntax?view=markup tt.syntax] — синтаксис шаблонов {{CPAN|Template::Toolkit}}.
+
* [{{SVN|vitalif/trunk/scripts/tt.syntax}} tt.syntax] — синтаксис шаблонов {{CPAN|Template::Toolkit}}.
* [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/tpl.syntax?view=markup tpl.syntax] — синтаксис шаблонов [[Шаблонизатор VMX::Template|VMX::Template]].
+
* [{{SVN|vitalif/trunk/scripts/tpl.syntax}} tpl.syntax] — синтаксис шаблонов [[Шаблонизатор VMX::Template|VMX::Template]].
* [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/perl.syntax?view=markup perl.syntax] — исправленный синтаксис для Perl кода.
+
* [{{SVN|vitalif/trunk/scripts/perl.syntax.patch}} патч для perl.syntax] — исправленный синтаксис для Perl кода.
  
 
[[Категория:Разработка]]
 
[[Категория:Разработка]]

Версия 17:10, 23 августа 2009

По адресу ~/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 кода.