Category: it

Category was added automatically. Read all entries about "it".

беркут парящий

Популярные инструменты для бекапа PostgreSQL.

Обзор самых популярных средств для создания резервных копий PostgreSQL.


В обзоре будут рассмотрены Barman, PgBackRest, pg_probackup от компании Постгрес Профессиональный и WAL-E. WAL-G я не стал рассматривать, потому что Go и скудость документации. У обоих WAL не вот уж богато с доками, но у WAL-G всё совсем грустно.
Наличие пакетов ОС Язык программирования Сжатие данных Параллелизм Управление WAL Бекап нескольких инстансов Бекап с реплики Инкрементальный, дифференциальный бекап Ротация бекапов Проверка бекапа Tablespaces
Barman Yes Python >=3.4 Yes (rsync) Yes (rsync) Yes Yes Yes (pgesspresso) Yes (rsync) Yes ? Yes (rsync)
PgBackRest С Yes Yes ? Yes (нужно искать инфу) Yes Yes Yes
pg_probackup Yes Yes (with PTRACK is better) Yes (manual)
wal-e Не обнаружено Python >=3.4 ? ? Не обнаружено ?

Легенда


Наличие пакетов ОС - данный пункт интересен только эксплуататорам, я думаю. wal-e ставится pip-ом.
Язык программирования - здесь неплохо было бы указать зависимости для систем на питоне, но...
Сжатие данных - для уменьшения трафика, когда канал слабый, а база серьёзная. На самом деле надо экспериментировать.
Параллелизм - возможен ли бекап в несколько потоков.
Управление WAL - barman умеет в быть хранилищем WAL-ов для тех инстансов, которые бекапятся; про другие инфы не найдено.
Бекап нескольких инстансов - чтобы не забыть. Умеют все.
Бекап с реплики - могут все, но сильно по-разному, и документация об этой возможности весьма различна у всех продуктов. Для barman-а необходимо расширение pgespresso.
Инкрементальный, дифференциальный бекап - pg_probackup с PTRACK может в бекап на уровне страниц, а не на уровне файлов, как остальные (в документации по wal-e данная возможность не обнаружена).
Ротация бекапов - могут все.
Проверка бекапа - pgbackrest на инстансах с включенными чексуммами проверяет на лету, pg_probackup - отдельной командой;
Tablespaces - все продукты умеют перемещать табличные пространства во время восстановления.
беркут парящий

Документация на, например, всякое...

Амбула: читайте документацию по продукту ПЕРЕД его (продукта) использованием!
Преамбула: решил я таки прекратить насиловать свои бедные глазки и прикупил мониторчик с матовым экраном DELL U2715H (27", как видно из названия), вместо глянцевого 22". Угу, ага. Кто бы за меня сначала спецификации на всё про всё посмотрел: видимокарты, самого монитора, да и настройки системы, а именно:

  • Входы монитора: DisplayPort, miniDisplayPort (оба два - модные, современные), HDMI

  • Выходы старой видимокарты: VGA, HDMI, DispayPort (старый)

  • разрешение монитора: 2560 x 1440;

  • максимальное разрешение старой видимокарты по через HDMI: 1920 x 1200;


Т.е. новый монитор может подключиться к старой видяхе только по через HDMI со всеми вытекающими.
Купил новую видяху, которая умеет нужное разрешение по через HDMI. Ага, забыв, что у меня видеоподсистема настроена на одну-единственную видяху. Тоже со всеми вытекающими. А пересборка мира заняла всю ночь. А ещё понадобилось пересобирать ядро.
Дураков работа любит, как говорится.
ЗЫ. но оно того стоило - картинка более годная, да...

Claws-mail vs sylpheed

В данном конкретном случАе возможности claws-mail-а перевесили возможности sylpheed. У второго я не нашёл кнопку "Сворачивать в трей вместо закрытия". Каковая есть у claws-mail после подключения плагина notification, идущего в штатной поставке. Будем посмотреть на поведение. Громоптах же мал-мала достал своей прожорливостью и тормознутостью.

Debian, ssh & shutdown.

Итак, есть свежеустановленный по через debootstrap (минимальную установку не помню, врать не буду) Debian. И надо, подключившись к этому Дебу посредством ssh, либо погасить, либо перезагрузить его. Если просто сказать shutdown -h 0, то система будет погашена, при этом ssh-сессия останется висеть, мелочь,а неприятно. Лечится установкой двух пакетов: libpam-systemd и dbus:
test@deb-srv:~$ sudo apt-get install libpam-systemd dbus

PS.
test@deb-srv:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.8 (jessie)
Release:        8.8
Codename:       jessie
test@deb-srv:~$

Причина безобразия: systemd убивает сеть, а только потом sshd. Способ и возможность лечения зависит от дистрибутива.
Решение потырено вот отседова: https://unix.stackexchange.com/questions/216950/after-sending-shutdown-command-ssh-session-doesnt-terminate
прям первый ответ.

ffmpeg и соотношение сторон.

Есть у меня видимокамера, порнослоник. Не модный ХД, а что-то древнее (2009 г). с 70-кратным оптическим зумом, на каковой я и купился в своё время. Дык вот. родное соотношение у этого порнослоника 4:3, если сдуру выставить 16:9, то потом изображение в *ниховых плеерах сплюснуто с боков, что есть бысть грусть, печаль, тоска, тлен и безысходность. Хранить RAW-поток, в котором данная камера пишет - тоже не здорово, поэтому я материалы, снятые этим гениальным изобретением перекодирую. ffmpeg-ом. А чтобы изображение было нормальным, надо использовать следующую команду:
ffmpeg -i MOV001.MOD -sar 4:3 -aspect 16:9 мое-видео.mp4

MOV001.MOD - это вот так вот обзываются файлы сим устройством.
Да-да-да, именно русскими буковками выходной файл, а вы что думали?
Оригинал, однако

О восстановлении PostgreSQL.

Оригинал взят у mshurutov в О восстановлении.
Добрый день, уважаемые коллеги!

Сегодня я хотел бы рассмотреть оченно интересную статью на Хабре: Восстановление данных PostgreSQL после потери pg_control. А именно, что такое потеря данных, которые выводятся командой pg_controldata с точки зрения практикующего инженегра по эксплуатации. С высоты своего жЫзненного опыта и глубины погружения в тему.
Итак, поехали!

  • pg_control - если уж указываете имя, надо указывать полный путь:
    root@shurutovmv ~ # find /var/lib/postgresql/9.4/data/ -name "*pg_control*"
    /var/lib/postgresql/9.4/data/global/pg_control

    При этом в материале вполне себе пойдет замена /var/lib/postgresql/9.4/data/ на PGDATA, кому надо - поймут;

  • Но это так, мелкая придирка, докопаться захотелось.
  • Эта статья может быть полезна в тех случаях,

    Дык вот. Эта статья в публичном неподконтрольном доступе безусловно вредна. О чем я и буду немного рассуждать;

А теперь без вашего позволения я немного заберусь вглубь файловых систем и собственный опыт.
Что мы имеем в ситуации, когда постгрес не запускается по причине утери файла pg_control? После некоторых раздумий в голове остается только одно: питание было потеряно в момент сброса на диск кеша, содержащего суперблок(и). Что мы будем иметь в таком случае?
- слетевшую файловую систему, ГАРАНТИРОВАННО слетевшую! С вероятностью, стремящейся к 100% вместо файловой системы у вас каша, и в /lost+found какое-то лютое количество бинарных файлов имеющих наименования, далекие от читабельности, а именно - какие-то наборы символов, которые вполне себе можно в качестве паролей использовать. Мало того! Эти файлы - в подавляющем большинстве случаев - это каша из разных файлов! Т.е. кусок текста, далее - кусок картинки, далее - еще какая-нибудь белиберда, которую можно поднять только hex-редактором.
Вы что там поднимать собрались?! У вас в табличных пространствах с большой вероятностью что попало! И хорошо, если каталоги пустые, или там невооруженным глазом видно, что всё, хана. Потому что бесплодные попытки восстановить невосстановимое - это совершенно неоправданная потеря времени. Ни с точки зрения личного профессионального роста, ни, тем более, с точки зрения бизнеса.
Вы никогда не видели ФС после внезапного выключения питания? Примите мои соболезнования. Я, хвала всем Богам, такие ФС видел, либо имея рядом резервную копию, либо теряя восстановимые данные. А если у вас один сервер БД и нет ни резервных копий, ни какой-либо отказоустойчивости - ну что я могу сказать - у вас все впереди. На бесперебойники тоже надеяться не стоит - они, бывает, выходят из строя. Есть и такой опыт.
Но это техническая сторона. Есть еще и административно-управленческая.
Народ, а вот попробуйте непосвященному доказать необходимость создания резервных копий и прочей отказоустойчивости, когду у него будет перед глазами вот эта вот статья о восстановлении. Или вы никогда не видели "руководителей", которые занимаются бездумным сокращением расходов на эксплуатацию средств вычислительной техники? Ну ничего, все еще впереди. Таких есть, и есть весьма прилично. :(
А в случае сбоев ФС, каковые я описал, кто будет виноват? Вы думаете подобный "руководитель"? Я вас таки сильно расстрою, но виноватым будет непосредственный эксплуататор. В любом случае. Было в моей практике случаев, когда магазин терял бухгалтерию за несколько лет, и виновному было ничего. Потому что вот.
Мне бы очень хотелось почитать, что думает по этому поводу hydrobiont, с точки зрения бизнеса, построенного на эксплуатации Постгреса - как быть, когда ИТ-начальнЕГ тычет в лиТСо подобной статейкой и утверждает, что восстановление данных - это рутина, и платить какие-то бешеные бабки в случаях сбоев он не будет. При этом в контракте стоит весьма серьезные штрафные санкции за потерю данных и длительные простои. А чтобы совсем весело было, заказчик - гос/бюджет, статусный, послать в дальние дали нельзя в принципе, пошлешь такого - вылетишь с рынка, без вариантов.
Ну и что пожелать автору статьи сделать с его финальной фразой: "Всем успешной эксплуатации PostgreSQL и резервных копий под рукой!"?
Грустно. Печально. Ну ладно.



Что я хочу добавить к вышесказанному для рядовых пользователей, далеких от компьютеров и всего вот этого? Не ведитесь на подобные статьи о возможности восстановления данных! Это либо ЧУДОВИЩНО дорого, либо в принципе невозможно. Несколько резервных копий жизненно важных данных, в нескольких местах (несгораемые шкафы - вот оно, то самое, серебряная пуля после головы на плечах) - это вот спасёт. А гении, которые могут двоичные файлы читать и править - их оченно немного, и они, либо работают на соответствующие госорганизации, либо - красноглазые уроды, которые жаждут насолить окружающему миру за свою непризнанную гениальность. Ну вот как-то так.

ffmpeg и склейка нескольких файлов.

Чегой-то как-то частенько стала вылезать небольшая задачка, но не настолько часто, чтобы сохраниться в истории команд, размер которой (истории) у меня весьма внушительный.
Дано: Есть видеокамера, которая снимает видео в файлы с расширением *EXT (пусть будет так, у меня камера не одна, и у каждой - свое расширение) ФИКСИРОВАННОГО размера. Соответственно, когда объем материала превышает этот размер, файлов получается несколько.
Надо: склеить материалы в один файл.
Решение.
Решения, на самом деле два.
1. Файлы собираются в один исходный комадной cat, а затем полученный материал кодируется:
user@host media $ cat file1.EXT ... fileN.EXT > all.data user@host media $ ffmpeg -i all.data <options> <result.file>

2. Создается список файлов, а затем этот список скармливается ffmpeg-у.
user@host media $ ls *EXT|grep '<needed>'|sed -e "s/^\(.*\)$/file \'\1\'/" > list.txt user@host media $ ffmpeg -f concat -i list.txt <options> <result.file>

Описанная в FAQ-е конструкция:
user@host media $ ffmpeg -i concat:"intermediate1.mpg|intermediate2.mpg" -c copy intermediate_all.mpg

у меня не сработала. :(

ppp (pptp) & systemd

Оригинал взят у mshurutov в ppp (pptp) & systemd
Итак, надо-ть настроить ppp-подключение (по через pptp) к работе, используя systemd.
Не буду растекаться мыслию по древу, просто приведу конфиги и/или кускитаковых, которые, как я считаю, имеют отношение к вопросу. Вкратце: мне нужно поднимать ВПН тогда, когда мне надо, но не при старте системы. Поэтому разрешать (systemctl enable ) я его не буду.
0. Подготовка.
0.1. У нас уже есть настроенный ВПН по через openrc, поэтому настройки будем брать оттедова (но об этом несколько позже). А пока начнем создавать скелет:
pptpsetup --create --server --username --password

Проверили:
pon

Работает. НО!
0.2. Практика показала, что вот так вот настроенный ВПН как-то печально держит контакт. Поэтому после просмотра файлика /etc/ppp/peers/ я сотворил вот такое (прописан у меня он был, /etc/ppp/options.pptp в настройках соединения в openrc):
echo "file /etc/ppp/options.pptp" >> /etc/ppp/peers/

Вроде бы зафурычило. И типа чего-то там держит. Будем посмотреть, как оно дальше будет жЫть.
1. Сотворяем файл сервиса [font=andale mono]/etc/systemd/system/ppp@.service[/font] примерно вот такого содержания:
[Unit]
Description=PPTP link to %I
After=network.target
[Service]
Type=forking
# PIDFile=/run/ppp-%i.pid
ExecStart=/usr/sbin/pon %I
ExecStop=/usr/sbin/poff %I
ExecReload=/usr/sbin/poff -r %I
[Install]
WantedBy=multi-user.target

С PID-файлом вот думаю, разбираться, или ну его в баню? Тем более, что у меня определены ExecStop и ExecReload
2. Мастырим симлинк (а вдруг появится еще какой-нибудь ВПН?)
desktop ~ # cd /etc/systemd/system
desktop system # ln -s ppp\@.service ppp\@.service

и
3. Перечитываем конфигурацию systemd
desktop system # systemctl daemon-reload

4. Подключаемся после этого к ВПН-у:
desktop system # systemctl start ppp@.service

И радуемся жЫзни.
Радуемся? Ага, а кто за нас маршруты будет прописывать?
5. создаем нужный файлЕГ
desktop system # cd /etc/ppp/ip-up.d/
desktop ip-up.d # vim 60-routes.sh

Примерно такого содержания:
#!/bin/bash
# Add routes to intreanet and product space via pptp

PPP_IFACE=$1
PPP_IPPARAM=$6
case "$PPP_IPPARAM" in
        "<vpn-name>"|"<oldvpn-name>")
                <list of="of" command="command" of="of" creating="creating" routes="routes">
        ;;
esac

и
6. делаем его исполняемым
desktop ip-up.d # chmod +x 60-routes.sh

Вот таперича радуемся жЫзни по-настоящему.
Источники знаний:

  1. https://wiki.gentoo.org/wiki/Systemd

  2. https://wiki.archlinux.org/index.php/Pppd

  3. http://archlinux.org.ru/forum/topic/1005/?page=1

  4. http://homenet.beeline.ru/index.php?showtopic=291062


беркут парящий

Свободный графический редактор для создания лекал одежды.

Рыж, тебе должно понравиться (ну хоть поностальгируешь, да...).
После трёх месяцев разработки представлен релиз свободного графического 2D-редактора для создания выкроек одежды Valentina 0.3.0, построенного на основе библиотеки Qt 5. Основной целью проекта является создание свободного инструмента для создания 2D-чертежей одежды. Для работы с чертежами используется свой собственный формат данных. Готовые сборки сформированы для Ubuntu, Fedora, openSUSE, Windows и OS X. Исходные тексты доступны под свободной лицензией GPLv3+.

В данный момент поддерживаются:

  • Использование двух типов мерок: стандартные и индивидуальные.

  • Построение простых чертежей без возможности сложных манипуляций.

  • Автоматическая генерация раскладок.

  • Задание длин отрезков формулами.

  • Автоматической перевод названий мерок на язык интерфейса пользователя.

  • Экспорт раскладок в pdf, svg, png, ps, eps.


Основные изменения:

  • Множество изменений в GUI.

  • Автоматическая генерация раскладок.

  • Исправлена проблема с файлом блокировки в Windows.

  • Устранено зависание программы, если кривая имеет неуникальные точки.

  • Исправлено падение программы при удалении всех объектов со списка в диалоге инструмента "Деталь".

  • Исправлен пакет (.dmg) для OS X.

  • Новый список показывает изображения вместо имен стилей линий.

  • Добавлена возможность создавать контурные линии в чертеже. Формат обновлено до 0.1.3.

  • Изменение формы кривой перетягиванием мышки.

  • Добавлена возможность быстрого вызова последнего использованного инструмента.

  • Добавлена возможность удаления объектов без подтверждения.

  • Для OS X возвращена возможность сохранять раскладки в форматах ".ps" и ".eps".




Скопитырено отседова