Буквально на днях появилась у меня очень интересная задачка — вызвать shell скрипт из триггера в Oracle. Самым простым выходом в данной ситуации является хранимая процедура на Java, но редакция Oracle для которой было необходимо произвести действия — XE, в которой таковая возможность отсутствует.
Google выдает достаточно много советов по тому, как реализовать процедуру, ссылающуюся на C библиотеку, но в чистом виде такие инструкции у меня не заработали, пришлось несколько допиливать советы, в чем мне все также помогал Google. Ссылок на ресурсы, где я получал ответы, уже не помню, но всю цепочку действий попробую рассказать.
Читать полностью »
Рубрика «shell» - 7
Вызов shell из Oracle
2012-08-21 в 12:09, admin, рубрики: oracle, shell, базы данных, метки: oracle, shell, базы данныхМожно ли в UNIX обнулять (truncate) файл, в который пишет некоторый процесс?
2012-08-03 в 10:30, admin, рубрики: bash, linux, shell, truncate, UNIX, операционные системы, перенаправление, метки: bash, linux, shell, truncate, unix, перенаправлениеДовольно популярный и актуальный вопрос, который возникает, например, при чистке интенсивно растущих журналов постоянно запущенных процессов.
Ответ в двух словах
Обнулять можно, но для этого пишущий процесс должен открывать этот файл с использованием флага O_APPEND
. Ниже приводится соответствующий отрывок из open(2)
:
…
O_APPEND
The file is opened in append mode. Before eachwrite(2)
, the file offset is positioned at the end of the file, as if withlseek(2)
.O_APPEND
may lead to corrupted files on NFS file systems if more than one process appends data to a file at once. This is because NFS does not support appending to a file, so the client kernel has to simulate it, which can't be done without a race condition.
…
Несколько процессов, пишущих в один файл на NFS — это отдельный клинический случай. Пусть у нас есть один-единственный процесс, пишущий в файл.
Читать полностью »
Конвертируем flac в mp3 одним движением
2012-07-20 в 14:50, admin, рубрики: flac, flac2mp3, mp3, shell, метки: flac, flac2mp3, mp3, shellДоброго времени суток.
Накачал я тут себе однажды гору музыки, не разбираясь, в каком она формате, во flac или же в mp3. Думал «ну а что, есть же куча утилит, которые все это конвертируют, потом разберусь». Скачал, поискал в сети, чем можно конвертировать, нашел программку All2mp3 (сижу на маке)… Какого же было моё удивление, когда я узнал, что не могу в неё закинуть просто папку Music и ждать, пока она пробежится по всем подпапкам, найдет все файлы flac и конвертирует их в mp3! Начал гуглить, но никакого вменяемого решения так и не нашел.
Распределение нагрузки на PPTP/L2TP серверы MPD5
2012-07-20 в 8:10, admin, рубрики: freebsd, shell, балансировка нагрузки, системное администрирование, Телекомы, метки: freebsd, shell, балансировка нагрузки
Многие провайдеры на постсоветском пространстве самых разных масштабов предоставляют услуги Интернет по VPN туннелю, будь то PPPoE или PPTP/L2TP. О плюсах и минусах такого доступа я не буду рассказывать, т. к. данная тема смело поместиться в отдельную статью. Как правило для такого туннелирования используются либо серьезные железки (Cisco, Juniper, etc), либо софт-роутеры на базе FreeBSD и MPD5. Так вот, в этой статье пойдет речь о балансировке нагрузки на MPD5 серверы. На хабре уже был подобный топик, но там рассматривалось PPPoE, сегодня же разберем ситуацию с PPTP/L2TP.
Читать полностью »
Yet another cool story about bash prompt
2012-05-31 в 22:31, admin, рубрики: bash, linux, prompt, shellЯ программист. По крайней мере так написано в трудовой книжке. Почти всё своё рабочее время я провожу в консоли и текстовом редакторе. Мне очень нравится bash. Почти год я жил в zsh, прислушавшись к советам своих многочисленных коллег и знакомых, но в итоге я вернулся в bash и ни капельки об этом не жалею.
Zsh красив, приятен, чертовски функционален, но, признаюсь честно, я не смог совладать со всеми его многочисленными настройками. Я хочу работать, а не бороться со своим рабочим окружением. Простой пример: пару раз из-за автодополнения zsh я удалял все директории и файлы в текущей директории — zsh просто ставил пробел между автодополненной директорией и введённой мною звёзочкой (я хотел удалить всё в выбранной папке). Помните тот эпичный баг с пробелом и удалении директории /usr? У меня было то же самое. Спасибо гиту, выручил в который раз.
Впрочем, дело не в zsh — будь я чуточку умнее я бы с ним обязательно справился бы, и всё было бы хорошо, но мы, суровые программисты, будем использовать bash и vim, а гламурные zsh и textmate оставим хипстерам и прочим модникам ;)
Я не напишу ничего оригинального и универсального решения я не приведу, но мне всегда нравилось читать конфиги и описания других людей, а если к ним были приложены интересные картинки, так я вообще перечитывал эти статьи несколько раз. Надеюсь, вам тоже будет интересно.Читать полностью »
[recovery mode] Hack ВУЗа или как я выбирал университет
2012-05-30 в 13:04, admin, рубрики: hack, md5, shell, взлом, вуз, информационная безопасность, метки: hack, MD5, shell, sql-инъекция, взлом, вузТак как я абитуриент в этом году, мне пришлось просмотреть несколько сайтов российских ВУЗов и определиться, куда поступать.
Примечание: ВУЗ, о котором пойдет речь, я упоминать не буду, ибо ошибки пока не устранены, хотя письма администраторам информирующие их об уязвимостях разосланы.
Через некоторое время, когда сайты были осмотрены, тексты с зазываниями по типу «какой у нас классный ВУЗ» прочитаны, и решение было принято, я решил проверить, как у выбранного университета с безопасностью.
Полазив по сайту, получив порцию информации, по разглядывая фотографии, я заметил, что все ссылки имеют одинаковый формат: xxx.ru/?id=46&group=xxxx. По старой привычке подставив кавычку в параметры я ничего толком не обнаружил, новость/статья/контент как выводились, так и выводятся. Никакой SQL инъекции в радиусе сайта не наблюдалось. Очень неплохо.
И тут я уже было хотел покинуть сие чудо дизайнерской мысли, как вдруг мне стало интересно, а что же с другими сайтами университета?
Все ли так хорошо у них? Я предполагал всего-лишь небольшой аудит безопасности, а вышло нечто большее.
Копирайт на команду /bin/true
2012-05-17 в 19:32, admin, рубрики: cli, command, copyright, linux, shell, UNIX, история, История ИТ, сарказм, юморСреди всей этой шумихи по поводу авторских прав есть один забавный пример — это крайний случай использования копирайта, который породила AT&T где-то в 1980-х. Речь идёт о программе /bin/true. Это пустая программа, которую обычно используют только для того, чтобы писать бесконечные циклы (while true do ...) в шелл-скриптах. Программа «true» не делает ничего, а только завершается с нулевым кодом. Такого поведения легко добиться — достаточно просто создать пустой файл и сделать его исполняемым, что и делали создатели первых Unix-систем. Пустой файл интерпретируется как шелл-скрипт, который не делает ровным счётом ничего. А, поскольку у него это вполне успешно получается, шелл возвращает нулевой код завершения. Но юристы AT&T решили, что это не помешает защитить копирайтом.Читать полностью »
Консоль для маководов: Beyond the GUI
2012-05-05 в 14:11, admin, рубрики: bash, console, mac os x, macosx, shell, shell script, метки: bash, console, macosx, shell, shell scriptДоброго дня, уважаемые читатели-маководы!
Сегодня я расскажу как увеличить эффективность работы в Mac OS X за счёт использования консоли.
Лирическое отступление
Думаю, ни для кого не секрет, что Mac OS является Unix-based системой, но переработанной почти до неузнаваемости. Даже консоль засунули куда подальше — не сразу и найдёшь. И вся система нацелена на использование GUI, при дефолтных настройках даже переключение между кнопками по Tab не работает — без мыши никуда. И тем не менее, Мак — это не только окошки, не только док и лаунчер. Мак это ещё и вся мощь shell скриптов и консоли!
Если Вы пришли из мира M$, то для начала неплохо бы поучить общие команды shell'а, например, по вот этому учебному пособию. Как минимум, нужно усвоить команды перехода по каталогам и способы запуска программ и скриптов.
Если Вы пришли в мир Mac OS из мира Linux'а и FreeBSD, то, скорее всего, знаете как минимум основы shell-скриптинга. Но и для вас в статье может оказаться кое-что интересное, ведь в маке есть уникальные консольные команды, которые так же полезно знать.
Вот о некоторых особенностях маковской консоли далее и пойдёт речь.
Читать полностью »