Задать вопрос
  • Как получить последние сообщения из группы от имени бота?

    shurshur
    @shurshur
    Bot API не позволяет получать историю сообщений, только текущие события.
  • Есть ли универсальный модуль Python для работы с разными базами данных (mysql, postgresql, ...)?

    shurshur
    @shurshur
    Ярослав, у меня у самого есть задача как-то красиво работать с данными, которые получаются, например, в виде json-структур, чтобы они прозрачно могли записываться в базу без написания кучи кода. Данные образуются при парсинге и архивации разных сайтов, и их структура очень разнообразна. Пока не смог придумать лёгкого и удобного решения. Для сайтов которые не меняются, можно данные сохранять как есть и грузить из них по необходимости, но бывает так, что данные могут удалять, а их нужно запомнить для истории (у данных есть уникальные ключи, которые позволят избежать дублирования). Придумал с помощью inflection конструировать объекты с полями на лету, а сами объекты описывать в peewee, но пока не получилось добиться работоспособности...
  • Есть ли универсальный модуль Python для работы с разными базами данных (mysql, postgresql, ...)?

    shurshur
    @shurshur
    sqlalchemy вполне можно использовать как абстрактный интерфейс к базам данных, просто передавая в него строковые запросы.

    А так, конечно, есть всякие https://github.com/web2py/pydal. да и в ORM-движках обычно есть средства замаппить ORM-объект в уже имеющиеся таблицы вместо создания их.
  • Как правильно забэкапить физ сервера на Linux?

    shurshur
    @shurshur
    ENigma371, я бы посмотрел в сторону умеет ли он UUID или LABEL, потому что имя устройства, как я уже говорил, это ненадёжный идентификатор. В том числе и для физических дисков.
  • Как правильно забэкапить физ сервера на Linux?

    shurshur
    @shurshur
    Я больше скажу - при перезагрузке даже имя md-устройства может меняться...

    Но обычно не имеет смысла бэкапить бинарные дампы разделов. Бэкапить надо данные и конфиги, чтобы в случае проблем поставить систему заново.
  • Как поменять логику действия хендлера в зависимости от того откуда пришло сообщение?

    shurshur
    @shurshur
    Ничего не понятно. Можно в виде кода (значимой части, где будет видно, как и на что бот реагирует)?
  • Не работает com-usb конвертер, в чем может быть причина?

    shurshur
    @shurshur
    Весьма возможно, что работать не будет вообще. У меня в ИБП APC была проблема, я пытался его подключать через usb2serial и это приводило к немедленному выключению ИБП, потому что так нельзя у него делать. Но там есть и usb-порт и через apcupsd с ним можно взаимодействовать.

    Надо ещё понимать, что реализации usb2serial обычно реализуют COM неполноценно, могут выдавать импульсы не той квадратуры итд итп. Я как-то пытался очень древний контроллер от конструктора LEGO подключать, он не детектился вообще или детектился и еле-еле шевелился. Прошить его так было вообще было нереально. При том, что с компьютера с полноценным COM-портом всё нормально работало.
  • Как автоматически проверить доступность телефонного номера?

    shurshur
    @shurshur
    renikrenik, наверное можно навернуть сценарий в asterisk и каким-то образом его запускать. Но я в нём разбираюсь слабо, хотя и приходилось когда-то конфигурировать немного.
  • Zimbra Fail2ban imap mailbox.log timezone?

    shurshur
    @shurshur
    Решения имеет смысл писать в решения, зачем в вопрос-то?
  • Как устроена АСУ ТП?

    shurshur
    @shurshur
    ivan58, вопрос и правда очень неконкретный, трудно понять, что хочется узнать. Что такое АСУ или ТП? Определение можно найти в Википедии не только. Как делают АСУ ТП? Тоже в интернетах.

    Сюда можно приходить с конкретными вопросами, которые легко не гуглятся или с которыми что-то непонятно, возникли затруднения, не удалось что-то настроить, запрограммировать... Можно посмотреть на другие вопросы (в том числе в упомянутых в вопросе тэгах) и станет понятно, о чём идёт речь.
  • Резервирование маршрутизируемой ipv4 подсети?

    shurshur
    @shurshur
    Bermut, это делается так. Получаем AS (одну, две не надо), подключаем два провайдера и с каждым организуем BGP стык. Наша AS попадаел в BGP fullview и весь интернет начинает знать, что трафик до нашей AS можно роутить через этих двух операторов. Причём, как правило, роутиться трафик будет по условно "кратчайшему" пути.

    Но это будет стоить достаточно дорого, далеко не 100 рублей в месяц, да и AS получить - это очень непростое дело. Дешевизна интернетов (даже с учётом часто заметно завышенных цен для юрлиц) - это следствие того, что это услуга массового спроса. Однако специфические требования при этом исполнит не каждый провайдер - да и небесплатно выйдет подобное удовольствие.

    Поэтому так для уровня "мне достаточно /29" никто не делает ничего подобного. Обычно так делают для проектов совсем другого уровня сложности, причём чаще всего это делается в датацентре, не в офисе.

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

    Но у нас есть серьёзные причины для такого дорогого и сложного решения. А для пары серваков в офисе и пожеланий "до 100 рублей" это не вариант. Для такого имеет смысл решения другого класса, хотя и их простыми не назовёшь.

    Заводим два провайдера и по каждому кидаем VPN до арендвоанного сервера/виртуалки. На этот сервер покупаем нужную сетку или набор IP, но только один приписываем серверу, остальные анонсируем статически в arp в сеть датацентра, а на серваке роутим в VPN. Тут надо обеспечить роутинг в любой из VPN, это проще всего метриками, но лучше поднять OSPF или даже BGP. На стороне сервера в офисе придётся нагородить policy routing. Так мы обеспечим, чтобы внешний IP, приписанный серверу, маршрутизировался поверх VPN (любого из) в датацентр, а в датацентре эти IP маршрутизируются уже поставщиком услуг.

    Ну вот, а теперь нужно понять, что чаще всего даже это не нужно. На нашем сервере же будет крутиться что-то конкретное, на каких-то конкретных портах. И надо всего лишь выпустить в интернет эти порты. Так можно просто на серваке у хостера эти порты пробросить через VPN до сервера в офисе. И не светить весь сервер в интернет. Причём если не нужно видеть адрес подключающегося клиента, то можно проброс сделать с двойным nat и даже policy routing не потребуется.

    Надеюсь, я убедил искать решение попроще и не заморачиваться слишком сильно :)
  • Резервирование маршрутизируемой ipv4 подсети?

    shurshur
    @shurshur
    Bermut, отказоустойчивость должна исходить из конкретных сценариев. И вовсе необязательно для этого целую сеть покупать.

    Например, сайт проще убрать за Cloudflare, это дёшево и довольно надёжно.

    По серверам в датацентре у некоторых хостеров можно купить услугу типа vrrp между датацентрами. Тогда сбой сервера в одном датацентре не помещает серверу в другом принять трафик с тем же самым адресом. По крайней мере у selectel что-то такое было.

    Но в целом если нужно чтобы надёжно был доступен сервер, то лучше не провайдеров в плохом месте подключения плодить, а переместить сервер в хорошее место с высоким уровнем обслуживания - в датацентр.
  • Какой надежный VPN, можно поставить на роутер?

    shurshur
    @shurshur
    Drno, "у меня работает" это плохой аргумент, он ничего не доказывает. Не работало у многих, не работало на конкретных провайдерах в конкретных регионах.
  • Можно ли заменить какой-то процес на init (exec c++)?

    shurshur
    @shurshur
    jcmvbkbc, хорошо, pid namespace и другие namespace позволяют получить "псевдосистему" с тем же ядром и отдельными процессами, файлами, сетью и даже именем хоста. Но "из телеграм" это всё равно не получится.
  • Можно ли заменить какой-то процес на init (exec c++)?

    shurshur
    @shurshur
    progar prik, в чём вопрос? Думаю, ты чего-то другого хочешь. Если хочется получить другой процесс с PID=1, то нет, PID=1 может быть только один (ц) Дункан Маклауд, и PID=1 может образоваться только вызовом exec внутри PID=1. Естественно "из телеграма" это сделать нельзя (да и это была бы ахренительная дыра в безопасности).

    Так-то в качестве init можно подсунуть другой процесс вместо обычного, надо ядру передать параметр init=, например, для откачивания умершей системы можно попробовать сделать init=/bin/bash и дальше разбираться (но это нужны хорошие скиллы, чтобы разобраться, так как, например, / будет read only, не будут смонтированы /dev /proc /sys, не будет работать сеть и много чего ещё...).
  • Заполнить поле ввода?

    shurshur
    @shurshur
    Телеграм предполагает, что пользователь не может редактировать чужие сообщения с текстом, а сообщение бота - это тоже чужое сообщение. Вообще, боты в Телеграме не задумывались как средство создания сложных полноценных интерфейсов администрирования, для этого придумали сайты. Использование средств Телеграма для этого сродни попытке сделать мост из близ валяющихся деревянных палок. Не всякий мост и не для всех задач можно так сделать.

    Можно пытаться накостылить, как в том другом ответе, но выглядит это так себе и usability для пользователя тоже не очень. Проще тогда использовать preformatted текст, который в Телеграме по клику сразу копируется в буфер. Это примерно так же так себе выглядит, но намного проще.

    И ещё я бы ещё попробовал рассмотреть идею сделать webapp. Правда, по сути это нужно сделать минисайтик, открывающийся прям в клиенте Телеграма, и возникает вопрос, не проще ли таки просто сделать полноценный сайт.

    PS: идея апнуть вопрос двухлетней давности весьма внезапная :)
  • Какой туннель выбрать GRE или IPIP?

    shurshur
    @shurshur
    Drno, ну начиналось всё с того что авторизация была только по логину и скорость 6-8 Мбит/с макс. :) так что в целом openvpn на микротике не очень распространённая практика.
  • Какой туннель выбрать GRE или IPIP?

    shurshur
    @shurshur
    С ним на микротике приходится плясать с бубном, потому что поддерживается он непойми как.