Программу radmin я знаю очень давно. Мне даже кажется, что она уже существовала в тот момент, когда я начал подрабатывать системным администратором в институте (2005 г., подумать только, у меня стаж уже 16 лет 😱). Только недавно узнал, что существует бесплатная программа Radmin VPN для объединения компьютеров в одну локальную сеть по vpn. Это аналог программы Tailscale, про которую недавно рассказывал.
https://www.radmin-vpn.com/ru/
Radmin VPN – бесплатная и простая в использовании программа для создания виртуальных частных сетей (VPN). Программа позволяет пользователям устанавливать безопасное и надежное соединение между компьютерами через Интернет, как если бы они были соединены через локальную сеть.
Добавить тут особо нечего. Ставится и работает просто. Обычный установщик Windows. Другие системы не поддерживаются. Это большой минус. А плюс в том, что программа полностью бесплатная, без каких-либо ограничений или платных фич. Я так понял, что создана она для рекламы и продвижения другого коммерческого продукта этой компании - Radmin.
Настройка максимально простая. Ставите клиент. Он автоматически регистрируется где-то в облаке разработчика, подключается к нему и получает серый ip. Вы можете создать свою новую локальную сеть или подключиться к существующей. При создании сети указывается её имя и пароль. На другом устройстве достаточно установить клиент, ввести имя сети и пароль к ней. Оба устройства окажутся в этой сети.
#vpn
https://www.radmin-vpn.com/ru/
Radmin VPN – бесплатная и простая в использовании программа для создания виртуальных частных сетей (VPN). Программа позволяет пользователям устанавливать безопасное и надежное соединение между компьютерами через Интернет, как если бы они были соединены через локальную сеть.
Добавить тут особо нечего. Ставится и работает просто. Обычный установщик Windows. Другие системы не поддерживаются. Это большой минус. А плюс в том, что программа полностью бесплатная, без каких-либо ограничений или платных фич. Я так понял, что создана она для рекламы и продвижения другого коммерческого продукта этой компании - Radmin.
Настройка максимально простая. Ставите клиент. Он автоматически регистрируется где-то в облаке разработчика, подключается к нему и получает серый ip. Вы можете создать свою новую локальную сеть или подключиться к существующей. При создании сети указывается её имя и пароль. На другом устройстве достаточно установить клиент, ввести имя сети и пароль к ней. Оба устройства окажутся в этой сети.
#vpn
Вновь возвращаюсь к теме чатов. Ещё пара вариантов для рассмотрения осталась. Сегодня поговорим о Matrix Synapse. Это не совсем чат-сервер, скорее платформа для организации чатов. Расскажу подробнее.
Matrix - это открытый протокол для децентрализованной коммуникации. Он может быть реализован в различных серверах и мессенджерах - https://matrix.org.
Synapse - локальный сервер, который работает на протоколе matrix, обеспечивает возможность подключения и общения клиентов. Написан на Python - https://matrix.org/docs/projects/server/synapse. Можно быстро запустить в docker или воспользоваться публичным сервером.
Для данной связки можно использовать любой клиент. Наиболее популярным и зрелым является клиент Riot, который в настоящий момент переименован в Element. Я пробовал именно его, когда тестировал данную связку. Он есть как web клиент, desktop и android приложение - https://element.io. К сожалению, под капотом там javascript и какой-нибудь современный фреймворк (не уточнял, какой именно), так что большого смысла использовать именно приложение нет. Оно точно так же выглядит, как и страница в браузере.
В плане функционала данная связка не будет сильно отличаться от остальных чатов. Всё необходимое есть. Внешний вид тоже нормальный. Явным плюсом подобного решения является бесплатность и гибкость, возможность расширять функционал различными дополнениями и разными клиентами. Плюс, есть возможность интеграции с другими системами, например, сервером видеоконференций Jitsi-meet.
Минус сразу на виду и следует из плюсов. Подобный конструктор по определению будет менее стабилен и более требователен к настройке и управлению. Порог вхождения будет повыше, хотя какой-то кардинальной сложности нет. У меня есть статья-обзор по установке и настройке подобной связки. Она немного устарела, но получить представление о чат-сервере можно.
Будет неплохо, если протокол Matrix продолжит свое развитие и завоюет популярность, как в свое время irc или xmpp. Пользователи от этого только выиграют. Сейчас по факту почти все пользуются закрытыми проколами и проприетарным ПО в этой области. Если честно, я не уверен, что у Matrix что-то сильно популярное выйдет. Мне кажется, сфера общения в виде мессенджеров очень лакомая для коммерческих организаций. Они будут максимально развивать и наращивать бесплатный функционал, лишь бы вы пользовались их продуктами и сливали информацию о себе. Open Source продукту будет трудно с ними конкурировать.
Если кто-то внедрял подобный чат-сервер, дайте обратную связь. Как там в плане стабильности и удобства в реальной эксплуатации.
#chat #selfhosted
Matrix - это открытый протокол для децентрализованной коммуникации. Он может быть реализован в различных серверах и мессенджерах - https://matrix.org.
Synapse - локальный сервер, который работает на протоколе matrix, обеспечивает возможность подключения и общения клиентов. Написан на Python - https://matrix.org/docs/projects/server/synapse. Можно быстро запустить в docker или воспользоваться публичным сервером.
Для данной связки можно использовать любой клиент. Наиболее популярным и зрелым является клиент Riot, который в настоящий момент переименован в Element. Я пробовал именно его, когда тестировал данную связку. Он есть как web клиент, desktop и android приложение - https://element.io. К сожалению, под капотом там javascript и какой-нибудь современный фреймворк (не уточнял, какой именно), так что большого смысла использовать именно приложение нет. Оно точно так же выглядит, как и страница в браузере.
В плане функционала данная связка не будет сильно отличаться от остальных чатов. Всё необходимое есть. Внешний вид тоже нормальный. Явным плюсом подобного решения является бесплатность и гибкость, возможность расширять функционал различными дополнениями и разными клиентами. Плюс, есть возможность интеграции с другими системами, например, сервером видеоконференций Jitsi-meet.
Минус сразу на виду и следует из плюсов. Подобный конструктор по определению будет менее стабилен и более требователен к настройке и управлению. Порог вхождения будет повыше, хотя какой-то кардинальной сложности нет. У меня есть статья-обзор по установке и настройке подобной связки. Она немного устарела, но получить представление о чат-сервере можно.
Будет неплохо, если протокол Matrix продолжит свое развитие и завоюет популярность, как в свое время irc или xmpp. Пользователи от этого только выиграют. Сейчас по факту почти все пользуются закрытыми проколами и проприетарным ПО в этой области. Если честно, я не уверен, что у Matrix что-то сильно популярное выйдет. Мне кажется, сфера общения в виде мессенджеров очень лакомая для коммерческих организаций. Они будут максимально развивать и наращивать бесплатный функционал, лишь бы вы пользовались их продуктами и сливали информацию о себе. Open Source продукту будет трудно с ними конкурировать.
Если кто-то внедрял подобный чат-сервер, дайте обратную связь. Как там в плане стабильности и удобства в реальной эксплуатации.
#chat #selfhosted
Есть отличный инструмент для хранения любого вида информации, в том числе и по сетевому оборудованию - Exel. У меня целая куча всевозможных таблиц с информацией. Но если вам нужно что-то более удобное для учёта и инвентаризации всего, что связано с сетями и информации об IP адресах, предлагаю обратить внимание на NetBox.
Netbox - это приложение для infrastructure resource modeling (IRM). Написано командой сетевых инженеров DigitalOcean специально для системных администраторов. Изначально использовалось для управления внутренней инфраструктурой, потом было опубликовано в open source.
Полезные ссылки:
https://netbox.readthedocs.io/
https://github.com/netbox-community/netbox
С помощью Netbox можно вести учёт ip адресов, стоек, расположения оборудования в стойках, сетевых соединений, виртуальных машин, схем подключения операторов связи, учётных данных для доступа к устройствам. Есть интеграция с LDAP. В общем, зрелый программный продукт, готовый к промышленной эксплуатации. Отдельно подчеркну, что Netbox это в первую очередь учёт и инвентаризация, не мониторинг и управление.
Netbox построен на базе Django (Python), Nginx или Apache, PostgreSQL в качестве СУБД. Посмотреть и попробовать очень просто. Есть полнофункциональное demo - https://demo.netbox.dev.
Если будете ставить себе, есть подробная документация с видео по установке и связке всех компонентов. Если вы devops, у вас причёсанная борода, вы пьете крафтовый кофе, и вы выше всей этой ручной возни с пакетами и настройками, то для вас есть готовый docker-compose:
https://github.com/netbox-community/netbox-docker
#network #управление #ITSM #IPAM
Netbox - это приложение для infrastructure resource modeling (IRM). Написано командой сетевых инженеров DigitalOcean специально для системных администраторов. Изначально использовалось для управления внутренней инфраструктурой, потом было опубликовано в open source.
Полезные ссылки:
https://netbox.readthedocs.io/
https://github.com/netbox-community/netbox
С помощью Netbox можно вести учёт ip адресов, стоек, расположения оборудования в стойках, сетевых соединений, виртуальных машин, схем подключения операторов связи, учётных данных для доступа к устройствам. Есть интеграция с LDAP. В общем, зрелый программный продукт, готовый к промышленной эксплуатации. Отдельно подчеркну, что Netbox это в первую очередь учёт и инвентаризация, не мониторинг и управление.
Netbox построен на базе Django (Python), Nginx или Apache, PostgreSQL в качестве СУБД. Посмотреть и попробовать очень просто. Есть полнофункциональное demo - https://demo.netbox.dev.
Если будете ставить себе, есть подробная документация с видео по установке и связке всех компонентов. Если вы devops, у вас причёсанная борода, вы пьете крафтовый кофе, и вы выше всей этой ручной возни с пакетами и настройками, то для вас есть готовый docker-compose:
https://github.com/netbox-community/netbox-docker
#network #управление #ITSM #IPAM
Прочитал на stackoverflow ответ от DBA Postgresql на тему размещения субд в контейнерах. Ответу уже 3 года, но с тех пор принципиально ничего не изменилось. Кратко смысл такой:
▪ Вам надо монтировать директорию с БД к хосту. Докеровская файловая система вообще не пригодна для интенсивной записи.
▪ Вам надо использовать сеть хостовой системы, чтобы не было снижения производительности на накладные расходы.
Эти 2 условия практически полностью нивелируют удобства Docker. Большого смысла запускать СУБД в контейнере нет. Речь идёт о нагруженной базе данных в проде.
Есть большой опыт использования небольших баз данных и кластеров postgresql в kubernetes у компании Zalando. Я делал отдельную заметку по их выступлению с этой темой на конференции. Там идея такая - большие нагруженные базы в контейнерах не запускают. А вот небольшие базы отдельных микросервисов запускают в kubernetes. Это позволяет организовать удобное централизованное управление и деплой новых баз для различных сервисов и команд.
У меня была еще одна заметка на тему базы данных в Docker. Там я делаю выжимку из статьи компании Percona о её собственных тестах производительности БД в контейнерах. Там вывод такой же, как и в у DBA со stackoverflow. Нужно обязательно использовать сеть хоста, чтобы не было просадки производительности.
В итоге получается, что для хорошей производительности, БД жёстко мапится к самому хосту и сетью, и диском. Ни о каком stateless подходе, на который в первую очередь ориентированы контейнеры, речи не идёт. Польза контейнеров в истории с субд может быть только при использовании большого количества ненагруженных баз, управление которыми может быть организовано с помощью средств оркестрации контейнерами.
У меня в практике как то раз был случай, когда база данных Mysql, запущенная в контейнере, просто исчезла. Разработчики запустили один проект заказчику полностью в контейнерах. В какой-то момент замапленная директория с файлами БД оказалась полностью пустой. Был такой древний баг. Его уже давно пофиксили.
Написал заметку, чтобы вы лишний раз подумали, когда будете использовать докер, а нужен ли он тут. Запускать одиночную субд на хосте в контейнере нет никакого смысла. Точно так же ее можно установить через пакетный менеджер и запустить. Работать будет быстрее, проблем будет меньше.
#postgresql #mysql #docker
▪ Вам надо монтировать директорию с БД к хосту. Докеровская файловая система вообще не пригодна для интенсивной записи.
▪ Вам надо использовать сеть хостовой системы, чтобы не было снижения производительности на накладные расходы.
Эти 2 условия практически полностью нивелируют удобства Docker. Большого смысла запускать СУБД в контейнере нет. Речь идёт о нагруженной базе данных в проде.
Есть большой опыт использования небольших баз данных и кластеров postgresql в kubernetes у компании Zalando. Я делал отдельную заметку по их выступлению с этой темой на конференции. Там идея такая - большие нагруженные базы в контейнерах не запускают. А вот небольшие базы отдельных микросервисов запускают в kubernetes. Это позволяет организовать удобное централизованное управление и деплой новых баз для различных сервисов и команд.
У меня была еще одна заметка на тему базы данных в Docker. Там я делаю выжимку из статьи компании Percona о её собственных тестах производительности БД в контейнерах. Там вывод такой же, как и в у DBA со stackoverflow. Нужно обязательно использовать сеть хоста, чтобы не было просадки производительности.
В итоге получается, что для хорошей производительности, БД жёстко мапится к самому хосту и сетью, и диском. Ни о каком stateless подходе, на который в первую очередь ориентированы контейнеры, речи не идёт. Польза контейнеров в истории с субд может быть только при использовании большого количества ненагруженных баз, управление которыми может быть организовано с помощью средств оркестрации контейнерами.
У меня в практике как то раз был случай, когда база данных Mysql, запущенная в контейнере, просто исчезла. Разработчики запустили один проект заказчику полностью в контейнерах. В какой-то момент замапленная директория с файлами БД оказалась полностью пустой. Был такой древний баг. Его уже давно пофиксили.
Написал заметку, чтобы вы лишний раз подумали, когда будете использовать докер, а нужен ли он тут. Запускать одиночную субд на хосте в контейнере нет никакого смысла. Точно так же ее можно установить через пакетный менеджер и запустить. Работать будет быстрее, проблем будет меньше.
#postgresql #mysql #docker
Давно не было заметок про полезные утилиты для бэкапа. Решил это исправить. Рассказываю про Butterfly Backup. Это небольшая консольная обёртка над rsync, написанная на python. Идея её в том, что она использует основное преимущество rsync - скорость сравнения и копирования информации. А так же добавляет некоторую гибкость, которой изначально в rsync нет. То есть расширяет его функционал.
https://github.com/MatteoGuadrini/Butterfly-Backup
https://butterfly-backup.readthedocs.io/en/latest/
Butterfly Backup избавляет от необходимости писать собственную bash обвязку вокруг rsync для организации инкрементных или разностных бэкапов. Так же упрощает восстановление и просмотр содержимого бэкапов. Для удобства можно подготовить готовый конфиг.
Основные возможности:
◽ Поддерживаемые бэкапы: Full, Incremental, Differential, Mirror.
◽ Использование центрального сервера для хранения бэкапов разных клиентов.
◽ Детальный просмотр содержимого отдельных бэкапов.
◽ Бэкап всей системы, а так же ее восстановление на другое железо или VM.
◽ Принцип снятия данных agent-less, по протоколу rsync или ssh.
Для работы BB нужен Python3. Далее достаточно скопировать репозиторий и запустить скрипт установки:
git clone https://github.com/MatteoGuadrini/Butterfly-Backup.git
cd Butterfly-Backup
sudo python3 setup.py
После этого копируем rsa ключи, которые предварительно создали, на удаленный host, чтобы иметь к нему доступ:
bb config --deploy host1
Дальше запускаем простой бэкап:
bb backup --computer host1 --destination /mnt/backup --data System --type Unix
У bb есть преднастройки для типовых бэкапов трёх типов систем - Unix, Windows, MacOS. Если указать после ключа data тип данных и далее тип системы, то будет забэкаплено всё, что относится к этому типу. В моем примере это системные директории.
По ссылке на документацию, что я привел в начале, можно посмотреть все основные возможности и ключи для бэкапа и восстановления.
#backup
https://github.com/MatteoGuadrini/Butterfly-Backup
https://butterfly-backup.readthedocs.io/en/latest/
Butterfly Backup избавляет от необходимости писать собственную bash обвязку вокруг rsync для организации инкрементных или разностных бэкапов. Так же упрощает восстановление и просмотр содержимого бэкапов. Для удобства можно подготовить готовый конфиг.
Основные возможности:
◽ Поддерживаемые бэкапы: Full, Incremental, Differential, Mirror.
◽ Использование центрального сервера для хранения бэкапов разных клиентов.
◽ Детальный просмотр содержимого отдельных бэкапов.
◽ Бэкап всей системы, а так же ее восстановление на другое железо или VM.
◽ Принцип снятия данных agent-less, по протоколу rsync или ssh.
Для работы BB нужен Python3. Далее достаточно скопировать репозиторий и запустить скрипт установки:
git clone https://github.com/MatteoGuadrini/Butterfly-Backup.git
cd Butterfly-Backup
sudo python3 setup.py
После этого копируем rsa ключи, которые предварительно создали, на удаленный host, чтобы иметь к нему доступ:
bb config --deploy host1
Дальше запускаем простой бэкап:
bb backup --computer host1 --destination /mnt/backup --data System --type Unix
У bb есть преднастройки для типовых бэкапов трёх типов систем - Unix, Windows, MacOS. Если указать после ключа data тип данных и далее тип системы, то будет забэкаплено всё, что относится к этому типу. В моем примере это системные директории.
По ссылке на документацию, что я привел в начале, можно посмотреть все основные возможности и ключи для бэкапа и восстановления.
#backup
Помните, я уже писал о проблеме Centos 7 и сертификатов Let's Encrypt? Не буду сильно повторяться, так как все подробности по ссылке. Кратко скажу, что из-за устаревшей версии Openssl, в Centos 7 не будет поддержки нового корневого сертификата, а старый протухает 30 сентября.
Вариантов решения этой проблемы несколько:
1️⃣ Обновить версию openssl на 1.1.1 или выше. Теоретически это может привести к каким-то проблемам с зависимостями, так как этой версии нет в базовых репах. Ставить придётся вручную.
2️⃣ Заблокировать протухающий сертификат. Сделать это можно так:
# trust dump --filter "pkcs11:id=%c4%a7%b1%a4%7b%2c%71%fa%db%e1%4b%90%75%ff%c4%15%60%85%89%10" | openssl x509 | tee /etc/pki/ca-trust/source/blacklist/DST-Root-CA-X3.pem
# update-ca-trust extract
Перед этим на всякий случай сохраните текущую цепочку CA сертификатов:
# cp -i /etc/pki/tls/certs/ca-bundle.crt ~/ca-bundle.crt-backup
3️⃣ Выпускать новые сертификаты с использованием другой цепочки CA:
# certbot renew --preferred-chain "ISRG Root X1"
Данная возможность появилась в версии certbot 1.6.0.
Подробности всей этой истории по ссылке:
https://blog.devgenius.io/rhel-centos-7-fix-for-lets-encrypt-change-8af2de587fe4
Я там новость подсмотрел.
#centos
Вариантов решения этой проблемы несколько:
1️⃣ Обновить версию openssl на 1.1.1 или выше. Теоретически это может привести к каким-то проблемам с зависимостями, так как этой версии нет в базовых репах. Ставить придётся вручную.
2️⃣ Заблокировать протухающий сертификат. Сделать это можно так:
# trust dump --filter "pkcs11:id=%c4%a7%b1%a4%7b%2c%71%fa%db%e1%4b%90%75%ff%c4%15%60%85%89%10" | openssl x509 | tee /etc/pki/ca-trust/source/blacklist/DST-Root-CA-X3.pem
# update-ca-trust extract
Перед этим на всякий случай сохраните текущую цепочку CA сертификатов:
# cp -i /etc/pki/tls/certs/ca-bundle.crt ~/ca-bundle.crt-backup
3️⃣ Выпускать новые сертификаты с использованием другой цепочки CA:
# certbot renew --preferred-chain "ISRG Root X1"
Данная возможность появилась в версии certbot 1.6.0.
Подробности всей этой истории по ссылке:
https://blog.devgenius.io/rhel-centos-7-fix-for-lets-encrypt-change-8af2de587fe4
Я там новость подсмотрел.
#centos
Есть небольшая утилита для организации vpn подключения через ssh - sshuttle. Она есть в стандартных репозиториях популярных дистрибутивов. В Centos живет в репозитории epel. Также присутствует в pip, так как написана на python.
https://github.com/sshuttle/sshuttle
https://sshuttle.readthedocs.io/en/stable/usage.html
Установка:
Её удобство в простоте и функциональности. VPN соединение организуется поверх SSH. Покажу на примерах:
Выражение 0/0 эквивалентно маске 0.0.0.0/0, то есть весь трафик отправляем в этот туннель. Будьте аккуратны, когда начнёте тестировать. Вас отключит от текущего ssh соединения. Можете сразу же проверить, через какой ip вы выходите в интернет:
Должны увидеть внешний ip ssh сервера, к которому подключились. С помощью sshuttle удобно подключаться к jump host и дальше на целевое устройство. Допустим, на какое-то устройство или сервер (ip - 2.2.2.2) можно подключиться только через конкретный сервер (ip - 3.3.3.3). Используем для подключения sshuttle.
После подобного подключения у вас будет создан маршрут к 2.2.2.2/32 через ssh сервер 3.3.3.3. Дальше можете со своей машины подключиться к 2.2.2.2.
Во время тестов я столкнулся с ошибкой: fatal: server died with error code 255. Подключение по ssh осуществлялось, а потом sshuttle падал. Решил вот так:
Если используется нестандартный ssh порт, то указать его следует так:
Для использования ключа при ssh подключении, добавьте следующие опции:
Если что-то пойдёт не так, включите подробное логировние через ключ -vvvv. Увидите, какие правила sshuttle добавляет в firewall и как прописывает маршруты. Там никакой магии, всё наглядно.
В Windows через WSL2 тоже работает, что весьма удобно. Данной заметки достаточно, чтобы начать пользоваться программой, так что смело добавляйте в закладки.
#vpn #ssh
https://github.com/sshuttle/sshuttle
https://sshuttle.readthedocs.io/en/stable/usage.html
Установка:
# dnf install sshuttle
# apt install sshuttle
# pip install sshuttle
Её удобство в простоте и функциональности. VPN соединение организуется поверх SSH. Покажу на примерах:
# sshuttle -r user@1.2.3.4 0/0
Выражение 0/0 эквивалентно маске 0.0.0.0/0, то есть весь трафик отправляем в этот туннель. Будьте аккуратны, когда начнёте тестировать. Вас отключит от текущего ssh соединения. Можете сразу же проверить, через какой ip вы выходите в интернет:
# curl ifconfig.me/ip
Должны увидеть внешний ip ssh сервера, к которому подключились. С помощью sshuttle удобно подключаться к jump host и дальше на целевое устройство. Допустим, на какое-то устройство или сервер (ip - 2.2.2.2) можно подключиться только через конкретный сервер (ip - 3.3.3.3). Используем для подключения sshuttle.
# sshuttle -r user@3.3.3.3 2.2.2.2/32
После подобного подключения у вас будет создан маршрут к 2.2.2.2/32 через ssh сервер 3.3.3.3. Дальше можете со своей машины подключиться к 2.2.2.2.
Во время тестов я столкнулся с ошибкой: fatal: server died with error code 255. Подключение по ssh осуществлялось, а потом sshuttle падал. Решил вот так:
# sshuttle -r user@1.2.3.4
-x 1.2.3.4
0/0
Если используется нестандартный ssh порт, то указать его следует так:
# sshuttle -r user@1.2.3.4
:22334
0/0
Для использования ключа при ssh подключении, добавьте следующие опции:
# sshuttle -r user@1.2.3.4 0/0
--ssh-cmd "ssh -i ~/.ssh/id_rsa"
Если что-то пойдёт не так, включите подробное логировние через ключ -vvvv. Увидите, какие правила sshuttle добавляет в firewall и как прописывает маршруты. Там никакой магии, всё наглядно.
В Windows через WSL2 тоже работает, что весьма удобно. Данной заметки достаточно, чтобы начать пользоваться программой, так что смело добавляйте в закладки.
#vpn #ssh
GitHub
GitHub - sshuttle/sshuttle: Transparent proxy server that works as a poor man's VPN. Forwards over ssh. Doesn't require admin.…
Transparent proxy server that works as a poor man's VPN. Forwards over ssh. Doesn't require admin. Works with Linux and MacOS. Supports DNS tunneling. - sshuttle/sshuttle
На днях слушал вебинар, где в том числе разобрали порядок поиска и выполнения команд в интерпретаторе bash. Я вспомнил, как сам в свое время разбирался в этой теме, пытаясь понять, почему команды выполняются в неочевидном для меня порядке. Решил законспектировать этот момент и поделиться с вами.
Итак, после ввода в терминал команды, происходит следующее:
1️⃣ Проверяются алиасы. Если команда будет там найдена, то поиск остановится и она исполнится. Проверить свои алиасы можно в консоли с помощью команды:
Кстати, алиас ls там скорее всего будет в таком виде:
То есть выполнится не просто бинарник /usr/bin/ls, а именно указанный алиас с ключами.
2️⃣ Далее команда проверяется, встроена в ли она в оболочку, или нет. Если встроена, то выполнится именно она, а опять же не бинарник. Пример встроенных программ - echo, pwd и т.д.
Что интересно, есть и бинарник echo, но если вы в консоли bash явно не укажете путь к нему /usr/bin/echo, выполнится именно встроенная в оболочку программа. Они на самом деле разные. У них даже ключи немного отличаются.
3️⃣ Только теперь идёт поиск бинарника в директориях, определённых в $PATH, причем не абы как, а по порядку следования этих директорий в переменной слева направо.
Я в свое время именно с этим разбирался, так как не мог понять, почему выполняется один из двух бинарников с одинаковыми именами, лежащие в разных директориях.
Зная всё это, можно засадить куда-то зловреда, или просто пошутить над кем-то. Например, создать пустой исполняемый файл с таким же именем, как системная утилита, например, chown. Положить файл в какую-то директорию и добавить её в начало $PATH. После этого при наборе chown в консоли или скриптах не будет происходить ровным счётом ничего. Если не знаешь всех нюансов, то так сразу не поймёшь, в чём проблема.
#bash #terminal
Итак, после ввода в терминал команды, происходит следующее:
1️⃣ Проверяются алиасы. Если команда будет там найдена, то поиск остановится и она исполнится. Проверить свои алиасы можно в консоли с помощью команды:
# alias
Кстати, алиас ls там скорее всего будет в таком виде:
alias ls='ls --color=auto'
То есть выполнится не просто бинарник /usr/bin/ls, а именно указанный алиас с ключами.
2️⃣ Далее команда проверяется, встроена в ли она в оболочку, или нет. Если встроена, то выполнится именно она, а опять же не бинарник. Пример встроенных программ - echo, pwd и т.д.
# type echo
echo is a
shell builtin
Что интересно, есть и бинарник echo, но если вы в консоли bash явно не укажете путь к нему /usr/bin/echo, выполнится именно встроенная в оболочку программа. Они на самом деле разные. У них даже ключи немного отличаются.
3️⃣ Только теперь идёт поиск бинарника в директориях, определённых в $PATH, причем не абы как, а по порядку следования этих директорий в переменной слева направо.
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Я в свое время именно с этим разбирался, так как не мог понять, почему выполняется один из двух бинарников с одинаковыми именами, лежащие в разных директориях.
Зная всё это, можно засадить куда-то зловреда, или просто пошутить над кем-то. Например, создать пустой исполняемый файл с таким же именем, как системная утилита, например, chown. Положить файл в какую-то директорию и добавить её в начало $PATH. После этого при наборе chown в консоли или скриптах не будет происходить ровным счётом ничего. Если не знаешь всех нюансов, то так сразу не поймёшь, в чём проблема.
#bash #terminal
Забавное видео про IT инженера на удалёнке. Можно смотреть без перевода, если не понимаете на слух английский. С субтитрами вообще всё понятно будет.
Мне особенно понравилось оснащение рабочего места. Перематывал, ставил на паузу и внимательно всё разглядывал. Очень круто сделано. Тоже так хочу. Но пока до hi-tech руки не доходят. С деревяшками бы в новом доме разобраться, которые за год подорожали в 2-3 раза и стали стоить дороже, чем hi-tech оборудование 😱 Дерево - новая нефть. Буду теперь себя богачом ощущать в деревянной избушке 🏡
https://www.youtube.com/watch?v=Rgx8dpiPwpA
Для тех, кто посмотрит видео, вопрос. Я не понял, зачем он разбил мышку и взял новую, когда беседовал с пародией на Стива Джобс?
#юмор
Мне особенно понравилось оснащение рабочего места. Перематывал, ставил на паузу и внимательно всё разглядывал. Очень круто сделано. Тоже так хочу. Но пока до hi-tech руки не доходят. С деревяшками бы в новом доме разобраться, которые за год подорожали в 2-3 раза и стали стоить дороже, чем hi-tech оборудование 😱 Дерево - новая нефть. Буду теперь себя богачом ощущать в деревянной избушке 🏡
https://www.youtube.com/watch?v=Rgx8dpiPwpA
Для тех, кто посмотрит видео, вопрос. Я не понял, зачем он разбил мышку и взял новую, когда беседовал с пародией на Стива Джобс?
#юмор
YouTube
a day in the life of an engineer working from home
Check out my new vlog channel: https://www.youtube.com/channel/UCmMGlb7mGXYVthrXYSwlQhw
Follow my newsletter: https://jomakaze.substack.com/
Music by Joy Ngiaw:
https://www.joyngiaw.com/
https://www.instagram.com/joyngiaw/
📱 SOCIAL MEDIA
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀…
Follow my newsletter: https://jomakaze.substack.com/
Music by Joy Ngiaw:
https://www.joyngiaw.com/
https://www.instagram.com/joyngiaw/
📱 SOCIAL MEDIA
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀…
Опять возвращаюсь к теме протухшего корневого сертификата Let's Encrypt и Centos 7. Писал об этом на днях. Делать самим ничего не надо. Один из способов, который я предложил - удалить протухший сертификат вручную. Делать этого теперь не надо, так как вчера вышло обновление пакета ca-certificates для Centos 7. Там этот сертификат уже удалён.
Лучше поздно, чем никогда. Но еще лучше, если бы они пораньше это обновление выпустили. Я уже вручную удалил, где вспомнил, что тема актуальна. А это практически все сервера со стандартным Bitrixenv, которое до сих пор на базе Centos 7 работает. И поддержка Let's Encrypt там встроена и активно используется.
#centos #webserver
Лучше поздно, чем никогда. Но еще лучше, если бы они пораньше это обновление выпустили. Я уже вручную удалил, где вспомнил, что тема актуальна. А это практически все сервера со стандартным Bitrixenv, которое до сих пор на базе Centos 7 работает. И поддержка Let's Encrypt там встроена и активно используется.
#centos #webserver
После поста о сборе средств для Семаева Кирилла, мне периодически пишут люди и спрашивают, как и что там с Кириллом, доходят ли деньги и т.д. Сам я не в курсе, так как у меня нет постоянного контакта ни с ним, ни с его родными. Это была моя личная инициатива о соборе средств. Чтобы было, что отвечать по теме, спросил у Анны, как там дела.
Кирилл сейчас на очередной реабилитации в мед. центре, так что новостей особо нет. С ним всё в порядке, состояние нормальное, ни лучше, ни хуже. Деньги тратятся на реабилитационные процедуры и на бытовые нужды. Помощь доходит до адресата.
На неё вышли люди с инициативой записать видео с Кириллом. Ориентировочно на октябрь запланировали мероприятие. Так что если всё сложится, то будет подробная информация из первых уст.
У меня всё по теме. Удачи вам в делах и не болеть.
Кирилл сейчас на очередной реабилитации в мед. центре, так что новостей особо нет. С ним всё в порядке, состояние нормальное, ни лучше, ни хуже. Деньги тратятся на реабилитационные процедуры и на бытовые нужды. Помощь доходит до адресата.
На неё вышли люди с инициативой записать видео с Кириллом. Ориентировочно на октябрь запланировали мероприятие. Так что если всё сложится, то будет подробная информация из первых уст.
У меня всё по теме. Удачи вам в делах и не болеть.
Telegram
ServerAdmin.ru
❗️ Внимание. Просьба не пролистывать пост, а прочитать его до конца. Это важно. Речь пойдёт про известного многим Kirill Semaev (Кирилл Семаев), который вёл одноименный youtube канал. Я неоднократно упоминал его в своих заметках и ссылался на некоторые…
📌 Хочу вас познакомить с двумя интересными и полезными утилитами для просмотра занятого места на диске. Первая из них - duf (https://github.com/muesli/duf). Написана на гошечке, работает шустро. По дефолту показывает удобный табличный вид смонтированных устройств, разделяя локальные хранилища, сетевые и специальные, типа /dev, /run и т.д.
Из других полезных возможностей:
- раскрашенный вывод
- настраиваемая сортировка и фильтрация вывода
- вывод результата в json формате
Есть паркет под все популярные системы, в том числе windows. Ставим на centos:
# rpm -ivh https://github.com/muesli/duf/releases/download/v0.6.2/duf_0.6.2_linux_amd64.rpm
Пример использования:
# duf --only local --sort size
Вывод только локальных хранилищ с сортировкой по размеру.
📌 Вторая утилита - dust (https://github.com/bootandy/dust). Написана на rust (du + rust = dust). Умеет отображать древовидную структуру каталогов с указанием занимаемого места каждой ветви дерева. Я не видел утилиты, которая бы так же быстро и просто могла сразу показать, кто и где занял место на диске. Несомненно, есть ncdu, но у неё другой принцип отображения информации. Где-то удобнее, а где-то нет.
Dust представляет из себя одиночный бинарник, так что никаких пакетов нет. Качаем и запускаем:
# wget https://github.com/bootandy/dust/releases/download/v0.7.5/dust-v0.7.5-x86_64-unknown-linux-gnu.tar.gz
# tar xzvf dust-v0.7.5-x86_64-unknown-linux-gnu.tar.gz
# cd dust-v0.7.5-x86_64-unknown-linux-gnu/
# ./dust / -d 3
Посмотрели размер директорий, начиная с корня, с ограничением глубины в 3.
#terminal #утилиты
Из других полезных возможностей:
- раскрашенный вывод
- настраиваемая сортировка и фильтрация вывода
- вывод результата в json формате
Есть паркет под все популярные системы, в том числе windows. Ставим на centos:
# rpm -ivh https://github.com/muesli/duf/releases/download/v0.6.2/duf_0.6.2_linux_amd64.rpm
Пример использования:
# duf --only local --sort size
Вывод только локальных хранилищ с сортировкой по размеру.
📌 Вторая утилита - dust (https://github.com/bootandy/dust). Написана на rust (du + rust = dust). Умеет отображать древовидную структуру каталогов с указанием занимаемого места каждой ветви дерева. Я не видел утилиты, которая бы так же быстро и просто могла сразу показать, кто и где занял место на диске. Несомненно, есть ncdu, но у неё другой принцип отображения информации. Где-то удобнее, а где-то нет.
Dust представляет из себя одиночный бинарник, так что никаких пакетов нет. Качаем и запускаем:
# wget https://github.com/bootandy/dust/releases/download/v0.7.5/dust-v0.7.5-x86_64-unknown-linux-gnu.tar.gz
# tar xzvf dust-v0.7.5-x86_64-unknown-linux-gnu.tar.gz
# cd dust-v0.7.5-x86_64-unknown-linux-gnu/
# ./dust / -d 3
Посмотрели размер директорий, начиная с корня, с ограничением глубины в 3.
#terminal #утилиты
Добиваю тему self-hosted чатов. Напомню, что ранее уже рассмотрел:
✔️ Zulip
✔️ MyChat
✔️ Mattermost
✔️ Rocket.Chat
Эти чаты я либо сам внедрял, либо тестировал и готовил к внедрению, поэтому есть личный опыт установки, базовой настройки и типового тестирования. Мне посоветовали посмотреть ещё на Delta Chat, что я и сделал.
Главная особенность Delta Chat в том, что для доставки сообщений используется smtp протокол. То есть он работает поверх инфраструктуры почтовых серверов, а значит свой сервер чата не нужен вообще. Идея выглядит необычной и любопытной. Для общения с помощью этого чата достаточно любых существующих почтовых ящиков.
Я поставил десктопные клиенты и пообщался сам с собой, настроив для этого соответствующие почтовые ящики. Сразу скажу, что клиент написан на Electron 😪. Настройки почтовых ящиков Яндекс.Почты автоматом не подобрал, пришлось вручную указать серверы и порты, предварительно в настройках ящика разрешив подключаться по imap. С gmail авторизация прошла автоматом без танцев, но пришлось в настройках безопасности разрешить подключаться ненадёжным приложениям.
Поотправлял сообщения туда-сюда. В целом работает. Клиент, как и всё на JavaScipt и Electron, тормозной. Идея интересная, так как практически полная децентрализация и всё работает поверх уже существующей инфраструктуры. Но те, кто понимают, как работает почта, сразу увидят кучу минусов. Тут и шанс попасть под спам фильтры, и greylisting, и задержки при доставке почты по smtp, и просто потери писем, которые иногда случаются. Всё это в целом с натяжкой тянет на полноценный чат. Никогда не будешь уверен, что твое сообщение быстро и гарантированно будет доставлено.
В таком виде, как реализовано, мне кажется, тема не пойдёт в массы. Ей самое место в каком-нибудь почтовом клиенте, пусть даже и в web. Там удобно вести подобную переписку, а как отдельное приложение для чата, мне кажется, не очень уместно.
Как бонус, бэкап всей переписки в ящиках, правда в зашифрованном виде. Не знаю, в каком виде потом всё это можно посмотреть, если сам чат будет удалён с компьютера. На базе уведомлений о доставке и прочтении реализована индикация доставки и прочтения сообщений в чате. Сам чат выглядит приятно. Интерфейс простой и понятный.
И да, это полностью open source:
https://github.com/deltachat
https://delta.chat/
#chat
✔️ Zulip
✔️ MyChat
✔️ Mattermost
✔️ Rocket.Chat
Эти чаты я либо сам внедрял, либо тестировал и готовил к внедрению, поэтому есть личный опыт установки, базовой настройки и типового тестирования. Мне посоветовали посмотреть ещё на Delta Chat, что я и сделал.
Главная особенность Delta Chat в том, что для доставки сообщений используется smtp протокол. То есть он работает поверх инфраструктуры почтовых серверов, а значит свой сервер чата не нужен вообще. Идея выглядит необычной и любопытной. Для общения с помощью этого чата достаточно любых существующих почтовых ящиков.
Я поставил десктопные клиенты и пообщался сам с собой, настроив для этого соответствующие почтовые ящики. Сразу скажу, что клиент написан на Electron 😪. Настройки почтовых ящиков Яндекс.Почты автоматом не подобрал, пришлось вручную указать серверы и порты, предварительно в настройках ящика разрешив подключаться по imap. С gmail авторизация прошла автоматом без танцев, но пришлось в настройках безопасности разрешить подключаться ненадёжным приложениям.
Поотправлял сообщения туда-сюда. В целом работает. Клиент, как и всё на JavaScipt и Electron, тормозной. Идея интересная, так как практически полная децентрализация и всё работает поверх уже существующей инфраструктуры. Но те, кто понимают, как работает почта, сразу увидят кучу минусов. Тут и шанс попасть под спам фильтры, и greylisting, и задержки при доставке почты по smtp, и просто потери писем, которые иногда случаются. Всё это в целом с натяжкой тянет на полноценный чат. Никогда не будешь уверен, что твое сообщение быстро и гарантированно будет доставлено.
В таком виде, как реализовано, мне кажется, тема не пойдёт в массы. Ей самое место в каком-нибудь почтовом клиенте, пусть даже и в web. Там удобно вести подобную переписку, а как отдельное приложение для чата, мне кажется, не очень уместно.
Как бонус, бэкап всей переписки в ящиках, правда в зашифрованном виде. Не знаю, в каком виде потом всё это можно посмотреть, если сам чат будет удалён с компьютера. На базе уведомлений о доставке и прочтении реализована индикация доставки и прочтения сообщений в чате. Сам чат выглядит приятно. Интерфейс простой и понятный.
И да, это полностью open source:
https://github.com/deltachat
https://delta.chat/
#chat
Дети в Интернете. Все, что нужно знать о контентной фильтрации в образовательных учреждениях.
🗓 30 сентября в 14:00 (мск) разработчики шлюза Интернет Контроль Сервер проведут вебинар на тему доступа в интернет в учебных заведениях, что подразумевает четкое выполнение требований законодательства в области защиты детей от опасной информации.
На вебинаре вам расскажут, как с помощью контент-фильтра Интернет Контроль Сервер и дополнительных модулей Kaspersky можно обеспечить безопасный доступ в сеть и беспрепятственно пройти прокурорскую проверку.
Вы узнаете о преимуществах использования контент-фильтра перед фильтрацией от провайдеров, об отличиях ИКС от простых модулей фильтрации, а также о дополнительных категориях трафика Kaspersky Web Filtering.
👉 Регистрация на бесплатный вебинар.
У меня на сайте написан цикл статей по этому шлюзу, где я разбираю установку и настройку продукта.
Вы можете скачать и протестировать полнофункциональную версию шлюза в течении 35 дней, либо воспользоваться бесплатной версией.
#реклама #бесплатно #текст_мой #икс
🗓 30 сентября в 14:00 (мск) разработчики шлюза Интернет Контроль Сервер проведут вебинар на тему доступа в интернет в учебных заведениях, что подразумевает четкое выполнение требований законодательства в области защиты детей от опасной информации.
На вебинаре вам расскажут, как с помощью контент-фильтра Интернет Контроль Сервер и дополнительных модулей Kaspersky можно обеспечить безопасный доступ в сеть и беспрепятственно пройти прокурорскую проверку.
Вы узнаете о преимуществах использования контент-фильтра перед фильтрацией от провайдеров, об отличиях ИКС от простых модулей фильтрации, а также о дополнительных категориях трафика Kaspersky Web Filtering.
👉 Регистрация на бесплатный вебинар.
У меня на сайте написан цикл статей по этому шлюзу, где я разбираю установку и настройку продукта.
Вы можете скачать и протестировать полнофункциональную версию шлюза в течении 35 дней, либо воспользоваться бесплатной версией.
#реклама #бесплатно #текст_мой #икс
ZeroViewer - бесплатная программа для удаленной поддержки пользователей. Условно можно назвать self-hosted аналогом программ типа TeamViewer, Anydesk и т.д. В качестве сервера, через который устанавливается соединение, может выступать любой ssh server. Подключения запускаются с помощью kitty (виндовый ssh клиент). Для отображения экрана удаленной машины используется реализация vnc на базе TightVNC.
Клиент доступен только для ОС Windows. Все настройки хранит в обычном ini файле, что упрощает переносимость. Нужно понимать, что соединения по ssh не очень быстрые. Плюс протокол vnc тоже очень требователен к скорости канала. Так что получить сопоставимое качество картинки с tv или anydesk не получится. Зато всё полностью под твоим контролем, плюс надежное шифрование из коробки на базе ssh. Полностью бесплатных аналогов я даже и не знаю.
Сайт программы: https://null.la/
Обсуждение:
https://4pda.to/forum/index.php?showtopic=973515
http://forum.ru-board.com/topic.cgi?forum=5&topic=49838
Программа бесплатная, но исходников в открытом доступе нет, так что использовать на свой страх и риск.
#remote #selfhosted
Клиент доступен только для ОС Windows. Все настройки хранит в обычном ini файле, что упрощает переносимость. Нужно понимать, что соединения по ssh не очень быстрые. Плюс протокол vnc тоже очень требователен к скорости канала. Так что получить сопоставимое качество картинки с tv или anydesk не получится. Зато всё полностью под твоим контролем, плюс надежное шифрование из коробки на базе ssh. Полностью бесплатных аналогов я даже и не знаю.
Сайт программы: https://null.la/
Обсуждение:
https://4pda.to/forum/index.php?showtopic=973515
http://forum.ru-board.com/topic.cgi?forum=5&topic=49838
Программа бесплатная, но исходников в открытом доступе нет, так что использовать на свой страх и риск.
#remote #selfhosted
В системах Unix есть полезная утилита, которая возвращает тип введённой в оболочку команды. Речь пойдёт об утилите type. Она может быть как частью оболочки, так и отдельным бинарником. Проверить это можно с её же помощью.
В данном случае утилита type является встроенной в оболочку bash. С её помощью вы можете понять, что именно будет исполнено, если вы введёте ту или иную команду. Например:
Если просто ввести echo в терминал, будет выполнена встроенная в оболочку утилита. Но при этом есть и бинарник. Проверить, где он, можно с помощью добавления ключа P. Тогда type будет проверять только бинарники в PATH.
В скриптах, или консоли, вы можете использовать путь к бинарнику echo. Он отличается от того, что встроено в консоль. Убедиться в этом очень просто. Введите в консоли две команды и сравните результат. Подумайте, почему он разный.
Type маленькая утилита, которая только выводит информацию о введённой команде в консоль. С ее помощью можно определить, что будет выполнено: alias, function, builtin, file или keyword. Если добавить ключ a, то будут выданы все варианты команды:
#bash
# type type
type is a shell builtin
В данном случае утилита type является встроенной в оболочку bash. С её помощью вы можете понять, что именно будет исполнено, если вы введёте ту или иную команду. Например:
# type echo
echo is a shell builtin
Если просто ввести echo в терминал, будет выполнена встроенная в оболочку утилита. Но при этом есть и бинарник. Проверить, где он, можно с помощью добавления ключа P. Тогда type будет проверять только бинарники в PATH.
# type -P echo
/usr/bin/echo
В скриптах, или консоли, вы можете использовать путь к бинарнику echo. Он отличается от того, что встроено в консоль. Убедиться в этом очень просто. Введите в консоли две команды и сравните результат. Подумайте, почему он разный.
# echo --help
# /usr/bin/echo --help
Type маленькая утилита, которая только выводит информацию о введённой команде в консоль. С ее помощью можно определить, что будет выполнено: alias, function, builtin, file или keyword. Если добавить ключ a, то будут выданы все варианты команды:
# type -a ls
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
#bash
Делюсь с вами простым и удобным скриптом для автоматического бэкапа mysql баз с помощью mysqldump - AutoMySQLBackup. Это обычный bash скрипт, который упрощает рутинные задачи по бэкапу, предлагая встроенный функционал.
https://github.com/sixhop/AutoMySQLBackup
Основные возможности скрипта:
▪ Сжимает бэкапы баз и раскладывает их по отдельным директориям.
▪ Поддерживает многопоточные архиваторы типа pigz, позволяет управлять количеством потоков.
▪ Автоматически ротирует дневные, недельные, месячные архивы по заданным параметрам.
▪ Позволяет использовать ключи mysqldump.
▪ Умеет хранить настройки в отдельном конфигурационном файле.
▪ Можно гибко управлять набором баз для бэкапа, вручную указывая их или управляя списком с помощью шаблонов.
▪ Умеет отправлять результаты своей работы по почте.
▪ Может шифровать дампы указанным ключом.
▪ Запуск своего скрипта до или после выполнения бэкапа.
Вот простой конфиг для ежедневного бэкапа баз mysql за исключением performance_schema и information_schema. Ежедневные бэкапы хранятся 7 дней, недельные 31 день, месячные год.
После работы сккрипта в директории /mnt/backup будет создана структура директорий:
◽ daily - ежедневные бэкапы, где каждая база будет в своей директории;
◽ fullschema - только структура всех баз данных;
◽ latest - если указать соответствующую настройку, то в этой директории всегда будут лежать бэкапы от последнего запуска. Удобно отсюда их забирать куда-то в другое место сразу после окончания бэкапа.
◽ monthly - месячные бэкапы;
◽ status - список баз каждого запущенного бэкапа;
◽ tmp - для временных файлов;
◽ weekly - недельные бэкапы;
Рекомендую так же прочитать мою заметку про выбор параметров для mysqldump. Там есть важные моменты, которые влияют на успешность создания дампа.
#bash #mysql #backup
https://github.com/sixhop/AutoMySQLBackup
Основные возможности скрипта:
▪ Сжимает бэкапы баз и раскладывает их по отдельным директориям.
▪ Поддерживает многопоточные архиваторы типа pigz, позволяет управлять количеством потоков.
▪ Автоматически ротирует дневные, недельные, месячные архивы по заданным параметрам.
▪ Позволяет использовать ключи mysqldump.
▪ Умеет хранить настройки в отдельном конфигурационном файле.
▪ Можно гибко управлять набором баз для бэкапа, вручную указывая их или управляя списком с помощью шаблонов.
▪ Умеет отправлять результаты своей работы по почте.
▪ Может шифровать дампы указанным ключом.
▪ Запуск своего скрипта до или после выполнения бэкапа.
Вот простой конфиг для ежедневного бэкапа баз mysql за исключением performance_schema и information_schema. Ежедневные бэкапы хранятся 7 дней, недельные 31 день, месячные год.
CONFIG_mysql_dump_username='root'
CONFIG_mysql_dump_password='parol'
CONFIG_mysql_dump_host='localhost'
CONFIG_backup_dir='/mnt/backup'
CONFIG_multicore='no'
CONFIG_db_names=()
CONFIG_db_exclude=( 'performance_schema' 'information_schema' )
CONFIG_db_exclude_pattern=()
CONFIG_do_monthly='01'
CONFIG_do_weekly='7'
CONFIG_rotation_daily=6
CONFIG_rotation_weekly=31
CONFIG_rotation_monthly=360
После работы сккрипта в директории /mnt/backup будет создана структура директорий:
◽ daily - ежедневные бэкапы, где каждая база будет в своей директории;
◽ fullschema - только структура всех баз данных;
◽ latest - если указать соответствующую настройку, то в этой директории всегда будут лежать бэкапы от последнего запуска. Удобно отсюда их забирать куда-то в другое место сразу после окончания бэкапа.
◽ monthly - месячные бэкапы;
◽ status - список баз каждого запущенного бэкапа;
◽ tmp - для временных файлов;
◽ weekly - недельные бэкапы;
Рекомендую так же прочитать мою заметку про выбор параметров для mysqldump. Там есть важные моменты, которые влияют на успешность создания дампа.
#bash #mysql #backup
Вы какой firewall в Linux используете? Iptables или уже перешли на nftables? Я по прежнему первый. Уже давно запланировал изучить nftables и перейти на него, но всё никак. Причина тут проста - я хорошо знаю iptables и он меня полностью устраивает. Ничего нового, перейдя на nftables, для себя не получу. Только все конфиги и правила переписывать придётся.
Для iptables есть интересный проект по графическому отображению правил - iptables-vis - https://github.com/Nudin/iptable_vis. Я его потестировал. Работает неплохо. Можно где-то использовать, например в документации для людей, не знакомых с синтаксисом iptables. Картинки вполне наглядные получаются.
Для рисования схем используется blockdiag, который написан на python. Проще всего поставить через pip:
Потом клонируем себе репозиторий и рисуем схему:
Забирайте файл iptables.svg и смотрите любым просмотрщиком этого формата. Я в обычном браузере открыл.
#iptables
Для iptables есть интересный проект по графическому отображению правил - iptables-vis - https://github.com/Nudin/iptable_vis. Я его потестировал. Работает неплохо. Можно где-то использовать, например в документации для людей, не знакомых с синтаксисом iptables. Картинки вполне наглядные получаются.
Для рисования схем используется blockdiag, который написан на python. Проще всего поставить через pip:
# dnf install python3-pip
# apt install python3-pip
# pip install blockdiag
Потом клонируем себе репозиторий и рисуем схему:
# git clone https://github.com/Nudin/iptable_vis
# cd iptable_vis
# iptables -v -L > iptables.txt
# awk -f iptables-vis.awk < iptables.txt > iptables.dia
# blockdiag iptables.dia -T svg -o iptables.svg
Забирайте файл iptables.svg и смотрите любым просмотрщиком этого формата. Я в обычном браузере открыл.
#iptables
Реферальная программа облачного провайдера Cloud4Y
Зарабатывайте 10% от суммы контракта с привлеченного по вашей ссылке клиента.
Кому подходит программа:
🔹ИТ-специалистам
🔹Специалистам по информационной безопасности
🔹Специалистам по арбитражу трафика
🔹Любым компаниям и физическим лицам, имеющим свою площадку и аудиторию
Преимущества:
🔸Никаких обязательств перед клиентами
🔸Юридическая защита через договор
🔸Рост дохода при росте клиента
🔸Безупречная репутация компании на облачном рынке
🔸Прозрачная система выплат любыми удобными способами
Воспользуйтесь калькулятором на сайте, чтобы рассчитать ваш доход.
Узнать подробнее.
#реклама
Зарабатывайте 10% от суммы контракта с привлеченного по вашей ссылке клиента.
Кому подходит программа:
🔹ИТ-специалистам
🔹Специалистам по информационной безопасности
🔹Специалистам по арбитражу трафика
🔹Любым компаниям и физическим лицам, имеющим свою площадку и аудиторию
Преимущества:
🔸Никаких обязательств перед клиентами
🔸Юридическая защита через договор
🔸Рост дохода при росте клиента
🔸Безупречная репутация компании на облачном рынке
🔸Прозрачная система выплат любыми удобными способами
Воспользуйтесь калькулятором на сайте, чтобы рассчитать ваш доход.
Узнать подробнее.
#реклама
Бесплатный антивирус для сайтов - https://virusdie.com. Сразу говорю, что это не реклама, а мой опыт использования. Приходится делать такие пометки, так как регулярно вижу комментарии о том, что я что-то рекламирую. Абсолютно вся оплаченная реклама на канале помечается соответствующим тэгом. Если его нет, значит это моя личная инициатива написать о том или ином продукте.
Сервис virusdie.com позволяет бесплатно раз в месяц проверять на наличие вирусов один сайт. Для этого надо зарегистрироваться и подтвердить своё владение сайтом. Делается это с помощью загрузки проверочного файла в корень сайта, который по сути является вебшелл. Имейте это ввиду. Сканирование сайта происходит не снаружи, а внутри, через этот php файл. После проверки вы получите отчёт на почту. У компании одно время был блог на хабре.
Вообще, тема антивирусов для сайтов как-то совсем не развита. Раньше был неплохой антивирус revisium, который можно было купить сразу с установкой и регулярной поддержкой, обслуживанием. Но в какой-то момент их купили, сделали ребрендинг и русскоязычного сервиса вообще не осталось.
Был еще бесплатный aibolit от той же компании Revisium. Его постигла та же участь. Компания Revisium вошла в группу CloudLinux. Антивирус revisium получил название ImunifyAV. Продукты Revisium стали частью системы комплексной безопасности серверов Imunify360, AI-Bolit в Imunify360 стал Malware Scanner. Бесплатной версии больше нет. Компания CloudLinux, как я понял, ориентирована на англоязычный рынок. Простых способов оплатить российскому юрлицу я не нашел, как и просто телефона тех. поддержки на русском языке.
Есть еще Manul от Яндекса, но не развивается уже давно. Да и на старте был не очень.
Лично я антивирусы для сайтов заменяю подробными схемами бэкапов, когда есть возможность откатиться или восстановить изменённые файлы с достаточной глубиной архивов. Непосредственно исходники стараюсь хранить как можно дольше, в идеале вообще не удаляю.
#website #антивирус #security
Сервис virusdie.com позволяет бесплатно раз в месяц проверять на наличие вирусов один сайт. Для этого надо зарегистрироваться и подтвердить своё владение сайтом. Делается это с помощью загрузки проверочного файла в корень сайта, который по сути является вебшелл. Имейте это ввиду. Сканирование сайта происходит не снаружи, а внутри, через этот php файл. После проверки вы получите отчёт на почту. У компании одно время был блог на хабре.
Вообще, тема антивирусов для сайтов как-то совсем не развита. Раньше был неплохой антивирус revisium, который можно было купить сразу с установкой и регулярной поддержкой, обслуживанием. Но в какой-то момент их купили, сделали ребрендинг и русскоязычного сервиса вообще не осталось.
Был еще бесплатный aibolit от той же компании Revisium. Его постигла та же участь. Компания Revisium вошла в группу CloudLinux. Антивирус revisium получил название ImunifyAV. Продукты Revisium стали частью системы комплексной безопасности серверов Imunify360, AI-Bolit в Imunify360 стал Malware Scanner. Бесплатной версии больше нет. Компания CloudLinux, как я понял, ориентирована на англоязычный рынок. Простых способов оплатить российскому юрлицу я не нашел, как и просто телефона тех. поддержки на русском языке.
Есть еще Manul от Яндекса, но не развивается уже давно. Да и на старте был не очень.
Лично я антивирусы для сайтов заменяю подробными схемами бэкапов, когда есть возможность откатиться или восстановить изменённые файлы с достаточной глубиной архивов. Непосредственно исходники стараюсь хранить как можно дольше, в идеале вообще не удаляю.
#website #антивирус #security