Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Мак Сим Blog. Игра в Слова/Записи в блоге |
Мак Сим Blog. Игра в Слова
Голосов: 1 Адрес блога: http://mak-sim.ru Добавлен: 2008-03-06 15:25:40 блограйдером maksim77 |
|
Многопоточная обработка файлов в Bash
2011-11-14 11:36:00 (читать в оригинале)Не знал писать или нет но всё таки решил поделиться. Потребовалось тут по работе запускать параллельную обработку файлов с определяемым количеством потоков. Сначала в интернете нашёл статью Dr.AKULAvich где рассказывалось про ppss (http://drakulavich.blogspot.com/2009/01/ppss.html) но по целому ряду причин эта программа нам не подошла и тогда я просто сам написал простой и во многом примитивный скрипт. Но главное что он работает! Вот делюсь:
Несколько пояснений: никакой универсальностью здесь и не пахнет. Под каждую задачу его надо править ручками. Данный вариант обработает все файлы с расширением dmp в папке /home/user/dir. Обработка сводится к их шифрованию с сжатием и последующем удаление исходных файлов. Переменная TH определяет количество потоков.
1 | #!/bin/bash |
Пакетная конвертация видео под Android в консоли.
2011-05-25 14:30:09 (читать в оригинале)Думаю, что многие знаю прекрасную программу для конвертации видео од названием HandBrake. Простая, удобная и главное, что без всяких настроек и тюнинга конвертировать видео-файлы в более комфортный для просмотра на Android устройствах. В ней, конечно, есть неточности например дефолтный пресет …
Read more »
Пакетная конвертация видео под Android в консоли
2011-05-25 11:44:00 (читать в оригинале)Думаю, что многие знаю прекрасную программу для конвертации видео од названием HandBrake. Простая, удобная и главное, что без всяких настроек и тюнинга конвертировать видео-файлы в более комфортный для просмотра на Android устройствах. В ней, конечно, есть неточности например дефолтный пресет для Android’а почему то называет “iPhone & iPod Touch” ну да оставим это на совести автора :-D. Главное, что работает.
Вряд ли сама програма потребует каких либо инструкций. Но что делать если захотелось странного? Например не использовать GUI. На самом деле, применений этой странности может быть много. Скажем у вас есть жирный такой сервер который можно и загрузить на пару минут конвертацией свежей серией Хауса в свободное от
расчёта траекторий баллистических ракетработы время. Или наоборот у вас старенькая и слабая машина и Gnome с прочими иксами забирают достаточно много ресурсов. Так всё это сделать достаточно легко! В общем виде это будет выглядеть так:
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 не существует никакой групповой обработки. на официальном форуме пока, что предлагают использовать скрипты, что мы и сделаем:
1 | #!/bin/bash |
Создание RAID-массива поверх multipath устройств (RHEL5)
2011-05-20 11:39:00 (читать в оригинале)Потребовалось тут по работе настроить RAID-1 на основе двух multipath устройств. Задача не совсем тривиальная и памятуя о том сколько времени я провёл в поиске для нахождения проблемы решил вот поделиться. Говорю сразу если какие-то слова из первого предложения вам не понятны дальше лучше не читать :). Толку будет мало. Статья пишется в расчёте на таких же как я сам страдальцев. Вдруг вам повезёт на неё наткнуться :).
Итак у нас есть четыре диска вида /dev/sd[abcd] которые представляют из себя четыре пути до двух реальных устройств. Сервис multipathd соберёт их в два виртуальных устройства (настройка multipathd неплохо документирована в сети и на ней я останавливаться не буду):
[root@server ~]# /sbin/multipath -ll
mpath5 (3600508b400307eb80000b001036f0000) dm-1 HP,HSV200
[size=4.0G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
\_ 6:0:3:2 sdm 8:192 [active][ready]
\_ round-robin 0 [prio=10][enabled]
\_ 6:0:0:2 sdd 8:48 [active][ready]
mpath4 (3600508b400107eb80000a00003740000) dm-0 HP,HSV200
[size=32G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
\_ 6:0:0:1 sdc 8:32 [active][ready]
\_ round-robin 0 [prio=10][enabled]
\_ 6:0:3:1 sdl 8:176 [active][ready]
Для начала нам надо на дисках /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 собран не будет. Есть два решения этой проблемы:
- Создать в /etc/init.d/ скрипт по сути из одной строчки
/sbin/mdadm --assemble /dev/md0
и обеспечить ему загрузку на нужном runlevel. Он может быть любым по порядку загрузки. Главное чтобы после sysinit'а. - Переместить в файле /etc/rc.sysinit блок
# RAID setup
ниже блока инициализации # Device mapper & related initialization. Он достаточно длинный и поэтому приводить я его тут не буду.
update_boot_stage RCraid
[ -x /sbin/nash ] && echo "raidautorun /dev/md0" | nash --quiet
if [ -f /etc/mdadm.conf ]; then
/sbin/mdadm -A -s
fi
Создание RAID-массива поверх multipath устройств (RHEL5)
2011-05-20 10:56:09 (читать в оригинале)Потребовалось тут по работе настроить RAID-1 на основе двух multipath устройств. Задача не совсем тривиальная и памятуя о том сколько времени я провёл в поиске для нахождения проблемы решил вот поделиться. Говорю сразу если какие-то слова из первого предложения вам …
Read more »
Категория «Кино»
Взлеты Топ 5
+363 |
414 |
Информационный колодец |
+341 |
345 |
Yurenzo |
+339 |
343 |
CAPTAIN |
+331 |
341 |
Alta1r |
+322 |
361 |
Vindigo |
Падения Топ 5
-2 |
48 |
Illusory_doll |
-3 |
237 |
|
-3 |
252 |
Soft Hedgehog's Journal |
-5 |
264 |
Смотреть онлайн индийские фильмы. |
-5 |
27 |
warner four |
Популярные за сутки
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.