Pull to refresh

В помощь вебмастеру: Linux bash скрипт для перевода сайта на новую кодировку

Reading time 3 min
Views 1.4K
Lumber room
«Лучше день потерять, потом за час долететь» © Крылья, ноги, хвост

Не так давно мне «посчастливилось» перевести веб сайт средних размеров из одной кодировки в другую. Если быть точнее из windows-1251 на UTF-8. Потом еще один — побольше, на третьем я сломался, и следуя верному принципу вышесказанного мне пришлось потерять кучку времени на написание скрипта по автоматизации этого процесса, но зато потом, за час я все-таки долетел.
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Comments 26

Автоматизация разработки web проектов в среде UNIX

Reading time 2 min
Views 1.3K
Project management *
С какого боку не посмотри, а процесс автоматизации всегда важен. Компаниям он помогает экономить уйму времени-денег, администраторов избавляет от рутины, а людей не посвящённых в детали чужой работы от головной боли.
Я хочу поделиться своим решением по задаче частичной оптимизации и снижения производственных издержек. Мне пришлось написать данный bash скрипт по причинам, которые были озвучены выше. Есть ещё причина,
Хочу сразу предупредить непосвящённых о том, что конфигурация Apache, MySQL может отличаться от приведённой ниже( а так скорее всего и будет). Будьте внимательнее в корректировке путей, когда решите адаптировать этот скрипт под свои цели.

Читать дальше →
Total votes 28: ↑15 and ↓13 +2
Comments 17

Создание демон-процесса на Java

Reading time 6 min
Views 34K
Java *
Доброго всем времени суток.

Недавно, по долгу службы, появилась необходимость написать background process для IBM AIX 5.2 на Java с контролирующим shell скриптом.

Раз работа проделана, документация поднята, код написан, почему бы не поделиться с общественностью? По сему, переходим к делу.

читать дальше ...
Total votes 37: ↑34 and ↓3 +31
Comments 26

Небольшой, но полезный скрипт пакетной обработки фото с помощью ImageMagic

Reading time 2 min
Views 3.2K
Configuring Linux *
Продолжаю делиться своими наработками в области shell программинга. На сей раз это небольшой скрипт пакетной обработки JPG картинок. Умеет не очень много, но именно то, что надо, а именно:
* Ресайз фоток
* Изменение степени сжатия
* Наложение вотермарка (с помощью composite)

Не херит EXIF информацию (нужен jhead). Имеет несколько параметров, описание которых можно получить в справке (ключик -h)

В остальном все просто, но так влом иногда делать простые вещи :) Так что надеюсь кому-то скрипт будет полезен.

Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Comments 3

Сетевой морской бой на bash

Reading time 2 min
Views 8.4K
Abnormal programming *
Недавно с целью изучения bash написал на нем игру в «морской бой» для игры по сети. Игра получила название «Sink 'em all».

image

Из внешних программ используются только nc (для организации взаимодействия по TCP), stty (для выключения эха при нажатии клавиши) и clear (для очистки терминала).
Читать дальше →
Total votes 175: ↑161 and ↓14 +147
Comments 53

Закачка файлов с depositfiles.com из консоли

Reading time 1 min
Views 5.1K
Configuring Linux *
Пост не мой — просто попросили закинуть. Если понравилось, то почта автора для инвайта: jeka.eee.12@gmail.com. Уже получено — спасибо!

Функция для скриптов на bash, предназначенная для автоматизации скачивания файлов с файлообменника Depositefiles.com:
Читать дальше →
Total votes 120: ↑112 and ↓8 +104
Comments 38

Скрипт для работы с виртуальными хостами apache2 на локале

Reading time 8 min
Views 3K
Configuring Linux *

0. Intro


Для чего это все? Цели было 2:
  1. избавиться от рутины ковыряния в консоли и файлах
  2. получить экспы в разработке shell-скриптов.

1. Что это такое?


Ниже будет представлен скрипт, для работы с виртуальными хостами апача под кубунтой для локальной машины только. Для сервера врядли сгодится. Не для этих целей писался.
Читать дальше →
Total votes 14: ↑9 and ↓5 +4
Comments 14

Шейпирование трафика в Linux. Часть 2

Reading time 10 min
Views 11K
System administration *
Вторая часть статьи об управлении трафиком в Linux. В статье приведены примеры приоретизации трафика (QoS) и рассказано об использовании hash таблиц при фильтрации трафика (fast hash tables), использование которых позволяет существенно увеличить производительность.
Читать дальше →
Total votes 38: ↑29 and ↓9 +20
Comments 14

Конфигурация Mercurial+Nginx для управления большим количеством репозиториев

Reading time 9 min
Views 5.8K
System administration *
Под катом описан пример конфигурации связки mercurial+nginx и приведен скрипт автоматизации всего вышеперечисленного.
Читать дальше →
Total votes 33: ↑29 and ↓4 +25
Comments 11

Автоматизация работы со статическими маршрутами на сети FreeBSD-серверов

Reading time 5 min
Views 3.2K
System administration *
Tutorial
Sandbox

С чего всё началось


В провайдере, где я работаю, так исторически сложилось, что клиентские сети затерминированы на FreeBSD-серверах со статической маршрутизацией в соединяющих эти сервера коммутационных полях. Соответственно, при добавлении новой сети маршруты для неё надо прописывать на всех серверах по отдельности. Добавив к этому человеческий фактор, может оказаться, что некоторые сервера при добавлении или изменении маршрута будут забыты и пропущены. В связи с этим логичным становится как-то автоматизировать этот процесс.

Реализация


Исходим из того, что у нас есть некоторое количество серверов под управлением FreeBSD, и при добавлении нового маршрута (например, на одном из этих серверов была затерминирована новая клиентская сеть) он должен быть прописан на всех этих серверах.
Для начала создадим текстовый файл, каждая строчка которого являет собой адрес одного сервера, и для каждого из этих серверов настроим авторизацию по ключу (как это сделать, описано, например, здесь).
Пример файла-списка серверов:
192.168.0.1
192.168.1.1
mainserver.yourdomain.ru


Дальнейшую работу будет делать связка из двух shell-скриптов:
Читать дальше →
Total votes 33: ↑24 and ↓9 +15
Comments 28

Физический Standby DB для Oracle SE

Reading time 4 min
Views 8K
Oracle *
Sandbox
В комментариях к статье хабраюзера querct «Еще раз про Oracle standby» возник вопрос о возможности создания сервера наката (standby) на Oracle SE. Ответ — возможно. Любопытно? Пожалуйте под кат.

Дабы не вводить никого в замешательство и сохранить единообразие формы и сущности, в статье будут приняты все обозначения и требования из упоминаемой статьи. Теоретическую часть можно почерпнуть там же, я же расскажу об особенностях реализации standby базы с помощью Oracle SE и постараюсь осветить возможные «подводные камни».
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Comments 3

bash скрипт с поддержкой длинных (gnu-style) опций

Reading time 2 min
Views 14K
*nix *
Предстала на первый взгляд тривиальная задача: написать скрипт с различными опциями при запуске. Допустим нужно обработать всего две опции: name и dir. И задача действительно тривиальна при условии, что опции у нас короткие. Но если есть жгучее желание использовать длинные опции, то пиши пропало: getopts, который планировалось использовать изначально, в bash совсем на это не годится.
Читать дальше →
Total votes 30: ↑28 and ↓2 +26
Comments 9

Автоматизация обработки видео-файлов с web-камер средствами shell

Reading time 11 min
Views 14K
System administration *
Tutorial
Sandbox
Понадобилось начальству в своё время организовать своими силами видео-наблюдение за некоторыми вещами и уложиться в минимальное финансирование. Задача автоматизировать это легла на плечи системного администратора, то есть – меня.
Дано: N – видео-камер D-Link 2102, физический двух-юнитовый сервер под сервер видео-наблюдения и удаленное файло-хранилище.
Результатом должна быть возможность пускать некоторых пользователей на сервер видеонаблюдения в онлайн режиме и организовать архив видеозаписей.

Под катом несколько скриптов, которые сильно помогли мне понять, как лучше писать код, зачем нужны многие вещи и как они решаются, а так же навести порядок в своей голове и очень надеюсь, что они помогут кому-то еще.
Проект писался достаточно сложно — настолько сильно я shell(bash) скрипты не изучал — не было надобности до этого.
Но, когда задача поставлена и в голове есть алгоритм решения — все скрипты были переделаны так, чтобы читая их через пол года у меня и моего преемника не было вопросов и желания переписать все с нуля.

UPD: пост периодически обновляется.
Читать дальше →
Total votes 31: ↑29 and ↓2 +27
Comments 16

Аналог cmd из Python для Groovy

Reading time 6 min
Views 5.2K
Groovy & Grails *
Sandbox
По ходу написания небольшого проекта для себя на Groovy & Grails встала острая необходимость в использовании все различных shell-скриптов. То сервер перезапустить, предварительно передеплоив только что созданный проект, то логи ото всюду собрать, то новые версии конфигов залить и прочее. По началу писал всё на bash-скриптах, но, в силу того, что использую его, помимо своего pet-проекта, крайне редко, каждый раз сталкивался с долгими поисками в интернетах необходимых функций, правил синтаксиса и т.д., что, несомненно, сильно тормозило разработку собственно самого проекта.

И так как с языком программирования Groovy уже хорошо ознакомился, решил писать на нём. Но разводить огромное количество *.groovy файлов очень не хотелось, а хотелось как раз наоборот — иметь один скрипт управления back-end'ом, который уже включал бы в себя все необходимые команды, что бы можно было как во «взрослой» консольной программе иметь возможность и историю команд посмотреть и цепочку последовательно выполняемых команд задать и легко добавить, при необходимости, новые. Это хотелка ещё появилась потому, что вспомнил я про cmd, которым некогда пользовался осваивая Python. Но оказалось что для Groovy такого cmd никто не написал (позже я даже понял почему), что и подтолкнуло меня к очередному велосипедостроению, а именно к созданию небольшого Фреймворка Cli приложений на Groovy.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Comments 0

IPTV от МГТС: поиск каналов

Reading time 4 min
Views 134K
*nix *IPTV *
Write a paper, and give a talk, about any idea, no matter how insignificant it may seem to you.
S. P. Jones, How to write a great research paper

В Москве МГТС проводит мероприятия по замене медной проводки на оптику по технологии GPON. В результате абоненты МГТС получают возможность пользоваться не только телефонной связью, но и доступом в Интернет, а также смотреть IP-телевидение. Для просмотра программ ТВ МГТС предлагает арендовать приставку, которая и обеспечит просмотр.

Ниже я расскажу, как, используя подручные средства Debian Linux, найти каналы, доступные для просмотра без приставки.
Читать дальше →
Total votes 39: ↑36 and ↓3 +33
Comments 19

Наш велосипед или скрипты, облегчающие жизнь админа

Reading time 2 min
Views 39K
Southbridge corporate blog Website development *
image
В комметариях к одной из предыдущих статей была просьба выложить на всеобщее обозрение все наши наработки, используемые в повседневной жизни. Общими усилиями все было собрано, описано и выложено на github.
Под катом ссылка на репозиторий и краткое описание скриптов.
Читать дальше →
Total votes 42: ↑38 and ↓4 +34
Comments 21

Взаимодейтсвие Java и Shell-скриптов в Android

Reading time 4 min
Views 18K
Development for Android *
Sandbox
Так сложилось, что в моём текущем проекте необходимо было реализовать выполнение shell-скриптов прямиком из кода.

Для того, чтобы войти в курс дела, советую вам прочитать эту статью: Shell-скриптинг в среде Android

В ней очень хорошо описаны возможности языка Shell, однако мне помимо самих скриптов нужно было выполнять методы Java.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 6

Утилиты командной строки могут быть в 235-раз быстрее вашего Hadoop кластера

Reading time 7 min
Views 45K
High performance *Algorithms *Big Data *Hadoop *
Translation
Примечания tsafin:

Перед публикацией своего цикла статей по MapReduce в Caché, мне показалось важным озвучить данную прошлогоднюю точку зрения из статьи Адама Дрейка «Command-line tools can be 235x faster than your Hadoop cluster». К сожалению оригинальная статья Тома Хайдена, на которую он ссылается стала уже недоступна на сайте Тома, но её, по-прежнему, можно найти в архивах. Для полноты картины предлагаю ознакомиться и с ней тоже.

Введение


Посещая в очередной раз свои любимые сайты, я нашел крутую статью Тома Хайдена об использовании Amazon Elastic Map Reduce (EMR) и mrjob для вычисления статистики отношения выигрыш/проигрыш в наборе данных со статистикой по шахматным матчам, которую он скачал с сайта millionbase archive, и c которой он начал играться используя EMR. Так как объем данных был всего 1.75GB, описывающий 2 миллиона шахматных партий, то я скептически отнесся к использованию Hadoop для данной задачи, хотя были и понятны его намерения просто поиграться и изучить плотнее, на реальном примере, утилиту mrjob и инфраструктуру EMR.
Читать дальше →
Total votes 70: ↑66 and ↓4 +62
Comments 48

Усовершенствование системы видеонаблюдения с использованием OpenCV и Telegram bot

Reading time 5 min
Views 34K
Python *Development for Linux *

С чего все начиналось


Все началось с того, что я захотел установить у себя «умную» систему видеонаблюдения на Raspberry.

Хочу отдельно отметить, что для этого воспользовался несколькими статьями на Хабре. Спасибо авторам за их посты. Они реально помогли.

В итоге установил на купленном Raspberry Pi3 USB-камеру Logitech, смонтировал Яндекс.Диск и с периодичностью в 30 секунд делал снимки, которые затем копировал в папку на Яндекс.Диске.
Поигравшись с дальнейшем архивированием файлов, монтированием из отдельных снимков видео, забросил новую «игрушку» на несколько месяцев.
Читать дальше →
Total votes 21: ↑17 and ↓4 +13
Comments 47

Exploit Exercises или ещё один сайт для любителей VulnHub

Reading time 20 min
Views 14K
Information Security *Algorithms *Development for Linux *CTF *
Tutorial


Всем доброго времени суток, спасибо, что читаете мои райтапы. Сегодня речь пойдёт ещё об одном сайте, который похож на VulnHub. Это Exploit Exercises. Несмотря на небольшое количество виртуалок, и их относительно давнюю публикацию, почерпнуть что-то новое можно и там. Тем более это компенсируется разнообразием и количеством уровней.

Начать предлагается с виртуальной машины под названием Nebula. Её мы сегодня и разберём.
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 1
1