![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
![]()
Многопоточная обработка файлов в Bash2011-11-14 11:36:00 (читать в оригинале)Не знал писать или нет но всё таки решил поделиться. Потребовалось тут по работе запускать параллельную обработку файлов с определяемым количеством потоков. Сначала в интернете нашёл статью Dr.AKULAvich где рассказывалось про ppss (http://drakulavich.blogspot.com/2009/01/ppss.html) но по целому ряду причин эта программа нам не подошла и тогда я просто сам написал простой и во многом примитивный скрипт. Но главное что он работает! Вот делюсь: Несколько пояснений: никакой универсальностью здесь и не пахнет. Под каждую задачу его надо править ручками. Данный вариант обработает все файлы с расширением dmp в папке /home/user/dir. Обработка сводится к их шифрованию с сжатием и последующем удаление исходных файлов. Переменная TH определяет количество потоков.
Пакетная конвертация видео под Android в консоли.2011-05-25 14:30:09 (читать в оригинале)Думаю, что многие знаю прекрасную программу для конвертации видео од названием HandBrake. Простая, удобная и главное, что без всяких настроек и тюнинга конвертировать видео-файлы в более комфортный для просмотра на Android устройствах. В ней, конечно, есть неточности например дефолтный пресет … Read more » Пакетная конвертация видео под Android в консоли2011-05-25 11:44:00 (читать в оригинале)![]() Вряд ли сама програма потребует каких либо инструкций. Но что делать если захотелось странного? Например не использовать GUI. На самом деле, применений этой странности может быть много. Скажем у вас есть жирный такой сервер который можно и загрузить на пару минут конвертацией свежей серией Хауса в свободное от maksim@server:~$ HandBrakeCLI -i input.avi -o output.mp4 --preset "iPhone & iPod Touch" Параметр "--preset" можно сократить до "-Z". maksim@server:~$ HandBrakeCLI -i input.avi -o output.mp4 -Z "iPhone & iPod Touch" Всё хорошо в этих командах кроме одного. А как быть если хочется обработать целую папку? Проблема в том, что в данный момент в программе HandBrakeCLI не существует никакой групповой обработки. на официальном форуме пока, что предлагают использовать скрипты, что мы и сделаем:
Создание RAID-массива поверх multipath устройств (RHEL5)2011-05-20 11:39:00 (читать в оригинале)![]() Итак у нас есть четыре диска вида /dev/sd[abcd] которые представляют из себя четыре пути до двух реальных устройств. Сервис multipathd соберёт их в два виртуальных устройства (настройка multipathd неплохо документирована в сети и на ней я останавливаться не буду): [root@server ~]# /sbin/multipath -ll Для начала нам надо на дисках /dev/sd[abcd] создать разделы. Понятно, что можно создать лишь на sda и sdc. Вот тут есть небольшая тонкость несмотря на то что разделы будут использоваться фактически для RAID-1 ставить им тип 0xfd нельзя! Дело в том, что как только системе будут презентованы эти диск md соберёт из них RAID, и вы получите устройство из /dev/sda1 и /dev/sdc1. А нам то нужны multipath элементы. Можно вообще ничего не указывать, можете указать 0x83 в качестве типа. В любом случае это не принципиально. Лишь бы не 0xfd. Поехали дальше. После того как разделы созданы необходимо для каждого dm устройства выполнить команду: kpartx -a /dev/dm-n она создаст устройства вида /dev/dm-n+1, которые и будут являться нашими только что созданными разделами. Их уже можно объединять в RAID. Если по этому процессу есть какие либо вопросы то вот тут есть неплохая статья. Обязательно создаём mdadm.conf. Про него можно так же прочесть по прошлой ссылке. А вот дальше есть очень и очень интересный момент! Дело в том, что в RHEL 5 (шестой версии под рукой нет и проверить не смогу) есть досадный баг. В файле /etc/rc.sysinit процедура инициализации RAID-разделов с помощью mdadm.conf вызывается до создания всех /dev/mapper/ устройств. А наши /dev/dm-* на самом деле лишь их отражение. В итоге RAID собран не будет. Есть два решения этой проблемы:
Создание RAID-массива поверх multipath устройств (RHEL5)2011-05-20 10:56:09 (читать в оригинале)Потребовалось тут по работе настроить RAID-1 на основе двух multipath устройств. Задача не совсем тривиальная и памятуя о том сколько времени я провёл в поиске для нахождения проблемы решил вот поделиться. Говорю сразу если какие-то слова из первого предложения вам … Read more »
|
![]() ![]() ![]()
Категория «Истории»
Взлеты Топ 5
Падения Топ 5
![]()
Популярные за сутки
|
Загрузка...

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