Присоединяйтесь к вебинару Труконф 17 сентября в 11:00 мск и первыми познакомьтесь с TrueConf Room 5.0 — обновленным решением, превращающим любой компьютер в мощный терминал для видеоконференций.
Что такое TrueConf Room?
Это ПО, с которым любое помещение становится «переговорным». Достаточно ПК на Windows/Linux, при этом покупать спецоборудование не нужно — вы можете подключить уже имеющиеся у вас камеры, микрофоны, экраны, тач-панели и другую периферию. А если нужен ВКС-терминал «под ключ», то TrueConf Room можно получить в виде готового ПАКа.
TrueConf Room поддерживает NDI, удалённое управление с помощью планшета, многоэкранные конфигурации, обладает встроенным ИИ, умеет захватывать контент с ноутбука по HDMI и многое другое.
Реклама. ООО "Труконф", ОГРН 1177746109815, erid: 2VtzqwWLJXW
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🤡2🤝2💊1
This media is not supported in your browser
VIEW IN TELEGRAM
\U - если используется в схеме замены, то все, что после него, пишется в верхнем регистре\L - строчные символы после него\u - прописные буквы в первом символе того, что следует за ним\l - опускает первый символ следующего за ним символа\e или \E - останавливает прописные или строчные буквыКак мы можем их использовать?
Например, мы можем найти все адреса электронной почты и перевести их в нижний регистр:
:%s/\S\+@\S\+/\L&/Ключевая часть здесь -
\L перед &. Это означает, что в дальнейшем мы будем писать все в нижнем регистре.Вот еще один вариант. Допустим, мы хотим сделать часть адреса электронной почты, содержащую имя, строчной, но оставить регистр имени компании нетронутым. Таким образом,
FirstLast@Company.com станет firstlast@Company.com. В этом случае нам нужно использовать \e (или \E), чтобы завершить манипуляции с регистром символов на полпути к шаблону замены. Окончательная замена будет выглядеть следующим образом::%s/\(\S\+\)\(@\S\+\)/\L\1\e\2/gВажным моментом здесь является подстановка. Мы используем
\L, чтобы начать строчное написание, затем \1 для первого захвата (например, FirstLast), затем \e, чтобы закончить строчное написание, а затем \2 для второго захвата (например, @Company.com). В результате первая часть электронного адреса будет выделена нижним регистром, а все остальное останется неизменным.👉 @sysodminof
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥5🌚2👍1
Media is too big
VIEW IN TELEGRAM
Diun. Система оповещения о новых Docker контейнерах.
Diun следит за установленными контейнерами и сравнивает их версии с версиями на репозиториях.
00:00 | Intro
00:16 | Проблема обновления docker
00:36 | Diun
00:53 | Сравнение с Watchtower. Основные функции
01:27 | Особенности обновления с Watchtower
03:02 | Проблема с образами image в Watchtower
04:21 | Diun обзор
04:56 | Diun системы уведомлений и провайдеры
06:15 | Diun. docker compose. Установка
08:21 | Расширенные параметры. Настройка diun.
11:00 | Запуск diun. Тест
12:03 | Crontab.guru - сервис настройски времени crontab (Scheduler)
12:30 | Тест diun. Уповещения в логе
13:34 | Настройка уведомлений в diun. Подключение к gotify
16:27 | Как обновить docker контейнер вручную.
17:13 | Преимущество diun уведомлений
18:12 | Gotify установка. docker compose.
18:34 | Спасибо
источник
👉 @sysadminof
Diun следит за установленными контейнерами и сравнивает их версии с версиями на репозиториях.
00:00 | Intro
00:16 | Проблема обновления docker
00:36 | Diun
00:53 | Сравнение с Watchtower. Основные функции
01:27 | Особенности обновления с Watchtower
03:02 | Проблема с образами image в Watchtower
04:21 | Diun обзор
04:56 | Diun системы уведомлений и провайдеры
06:15 | Diun. docker compose. Установка
08:21 | Расширенные параметры. Настройка diun.
11:00 | Запуск diun. Тест
12:03 | Crontab.guru - сервис настройски времени crontab (Scheduler)
12:30 | Тест diun. Уповещения в логе
13:34 | Настройка уведомлений в diun. Подключение к gotify
16:27 | Как обновить docker контейнер вручную.
17:13 | Преимущество diun уведомлений
18:12 | Gotify установка. docker compose.
18:34 | Спасибо
источник
👉 @sysadminof
👍7❤2
Команды мониторинга и отладки
👉 @sysadminof
top отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)ps -eafw отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)ps -e -o pid,args --forest вывести PID’ы и процессы в виде дереваpstree отобразить дерево процессовkill -9 98989 kill -KILL 98989
«убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)kill -TERM 98989 Корректно завершить процесс с PID 98989kill -1 98989
kill -HUP 98989 заставить процесс с PID 98989 перепрочитать файл конфигурацииlsof -p 98989 отобразить список файлов, открытых процессом с PID 98989lsof /home/user1 отобразить список открытых файлов из директории /home/user1strace -c ls > /dev/null вывести список системных вызовов, созданных и полученных процессом lsstrace -f -e open ls > /dev/null вывести вызовы бибилотекwatch -n1 ‘cat /proc/interrupts’ отображать прерывания в режиме реального времениlast reboot отобразить историю перезагрузок системыlast user1 отобразить историю регистрации пользователя user1 в системе и время его нахождения в нейlsmod вывести загруженные модули ядраfree -m показать состояние оперативной памяти в мегабайтахsmartctl -A /dev/hda контроль состояния жёсткого диска /dev/hda через SMARTsmartctl -i /dev/hda проверить доступность SMART на жёстком диске /dev/hdatail /var/log/dmesg вывести десять последних записей из журнала загрузки ядраtail /var/log/messages вывести десять последних записей из системного журнала👉 @sysadminof
👍7❤2
Media is too big
VIEW IN TELEGRAM
Цикл for в терминале bash
Очень часто вам необходимо исполнить одну и ту-же команду на разных файлах. К примеру вы хотите сконвертировать каждый JPEG файл в аналогичный PNG (или наоборот).
Почти во всех терминалах есть возможность работать с циклами, и в данном видео я описываю работу с циклом «for» в терминале bash.
истончик
👉 @sysadminof
Очень часто вам необходимо исполнить одну и ту-же команду на разных файлах. К примеру вы хотите сконвертировать каждый JPEG файл в аналогичный PNG (или наоборот).
Почти во всех терминалах есть возможность работать с циклами, и в данном видео я описываю работу с циклом «for» в терминале bash.
истончик
👉 @sysadminof
👍9❤1
Media is too big
VIEW IN TELEGRAM
Резервное копирование и восстановление виртуальных машин KVM
В этом ролике мы разберём резервное копирование и восстановление виртуальных машин KVM средствами СРК RuBackup.
истончик
👉 @sysadminof
В этом ролике мы разберём резервное копирование и восстановление виртуальных машин KVM средствами СРК RuBackup.
истончик
👉 @sysadminof
👍7❤1
Зарезервированные переменные Bash
Переменная Значение
👉 @sysadminof
Переменная Значение
$DIRSTACK Содержимое вершины стека каталогов.$EDITOR Текстовый редактор по-умолчанию.$EUID Эффективный UID. Если вы использовали программу su для выполнения команд от другого пользователя, то эта переменная содержит UID этого пользователя.$UID Содержит реальный идентификатор, который устанавливается только при логине.$FUNCNAME Имя текущей функции в скрипте.$GROUPS Массив групп к которым принадлежит текущий пользователь.$HOME Домашний каталог пользователя.$HOSTNAME hostname машины.$HOSTTYPE Архитектура машины.$LC_CTYPE Внутренняя переменная, которая определяет кодировку символов.$OLDPWD Прежний рабочий каталог.$OSTYPE Тип ОС.$PATH Путь поиска программ.$PPID Идентификатор родительского процесса.$SECONDS Время работы скрипта (в сек.)$# Общее количество параметров переданных скрипту$* Все аргументы переданыне скрипту(выводятся в строку).$@ Тоже самое, что и предыдущий, но параметры выводятся в столбик.$! PID последнего запущенного в фоне процесса.$$ PID самого скрипта.$? Содержит код завершения последней команды.👉 @sysadminof
👍8❤1
Media is too big
VIEW IN TELEGRAM
Адресация IPv4. Деление на подсети и объединение подсетей
Что такое адресация IPv4 и как осуществляется деление на подсети? Вы познакомитесь с алгоритмом разделения сетей на подсети, а также со структурой IP-адреса, рассмотрите логическую структуру IP-адреса, разберёте понятия «идентификатор сети» и «идентификатор хоста», остановитесь на определении параметров IP-адресации при разделении сетей на подсети.
источник
👉 @sysadminof
Что такое адресация IPv4 и как осуществляется деление на подсети? Вы познакомитесь с алгоритмом разделения сетей на подсети, а также со структурой IP-адреса, рассмотрите логическую структуру IP-адреса, разберёте понятия «идентификатор сети» и «идентификатор хоста», остановитесь на определении параметров IP-адресации при разделении сетей на подсети.
источник
👉 @sysadminof
👍10❤1
🚨 Новый рекорд DDoS-атак
В этом году число DDoS-атак стремительно растёт, и рекорд был обновлён уже в третий раз.
1 сентября специалисты Curator отразили крупнейшую атаку, задействовавшую 5,76 млн устройств по всему миру.
О том, как проходила атака и какие методы защиты помогли её остановить - в канале Curator
В этом году число DDoS-атак стремительно растёт, и рекорд был обновлён уже в третий раз.
1 сентября специалисты Curator отразили крупнейшую атаку, задействовавшую 5,76 млн устройств по всему миру.
О том, как проходила атака и какие методы защиты помогли её остановить - в канале Curator
Telegram
CURATOR | DDoS‑защита, CDN, AntiBot, WAF
🔺 Продолжаем отслеживать крупнейший L7 DDoS-ботнет: теперь 5,76 млн
Напомним предысторию:
1️⃣ 26 марта мы нейтрализовали атаку на сегмент “Онлайн-букмекеры”, в которой были задействованы 1,33 млн IP-адресов, преимущественно из Бразилии, Аргентины, России…
Напомним предысторию:
1️⃣ 26 марта мы нейтрализовали атаку на сегмент “Онлайн-букмекеры”, в которой были задействованы 1,33 млн IP-адресов, преимущественно из Бразилии, Аргентины, России…
💩2
Media is too big
VIEW IN TELEGRAM
Сети Cisco и Linux у Вас дома
Хорошим инженером можно стать так же, как хорошим спортсменом — нужно постоянно тренироваться, находить на это время и мотивацию. На нашем мастер-классе вы узнаете, как организовать «спортзал» дома и, занимаясь в формате «свободное обучение», повышать свою квалификацию в любое свободное время. А еще вы узнаете про использование геймификации — игрового подхода к образованию в наших методических материалах. Это точно оторвет вас от любимого сериала!
источник
👉 @sysadminof
Хорошим инженером можно стать так же, как хорошим спортсменом — нужно постоянно тренироваться, находить на это время и мотивацию. На нашем мастер-классе вы узнаете, как организовать «спортзал» дома и, занимаясь в формате «свободное обучение», повышать свою квалификацию в любое свободное время. А еще вы узнаете про использование геймификации — игрового подхода к образованию в наших методических материалах. Это точно оторвет вас от любимого сериала!
источник
👉 @sysadminof
👍11
Цифровая энтропия: почему ваш сервер с аптаймом в 1000 дней — это ходячий мертвец, и как с этим жить
Привет, коллеги! Хочу рассказать одну историю. Был у нас в стойке один сервер. Назовем его «Феникс». Работал как часы, аптайм — 986 дней. Мы им гордились, ставили в пример новичкам, мол, вот как надо настраивать железо и софт. А потом пришло время планового техобслуживания в дата-центре. Простое выключение-включение. «Феникс» больше не взлетел. RAID-контроллер решил, что с него хватит, а заодно прихватил с собой пару дисков из массива. Вот тогда я впервые по-настояшему задумался о том, что цифровой мир подчиняется тем же жестоким законам, что и физический.
В теории, код и данные — это нечто вечное. Биты не ржавеют, скрипты не изнашиваются. Но на практике любая сложная система со временем деградирует. Это не просто отказ железа ; это медленный, неумолимый «постепенный скат в беспорядок» , который затрагивает всё: софт, конфигурации, данные. Это явление, которое я для себя называю цифровой энтропией, — наш с вами постоянный и невидимый враг. Наша работа — не просто строить системы, а вести непрерывную войну с их неизбежным распадом.
Эта статья — путешествие по самым темным уголкам цифровой энтропии. Мы заглянем в глаза её самым жутким проявлениям, поделимся байками из серверной и вооружимся как тактическими командами для экстренных случаев, так и стратегическими концепциями, которые помогут держать хаос в узде.
https://habr.com/ru/articles/950002/
👉 @sysadminof
Привет, коллеги! Хочу рассказать одну историю. Был у нас в стойке один сервер. Назовем его «Феникс». Работал как часы, аптайм — 986 дней. Мы им гордились, ставили в пример новичкам, мол, вот как надо настраивать железо и софт. А потом пришло время планового техобслуживания в дата-центре. Простое выключение-включение. «Феникс» больше не взлетел. RAID-контроллер решил, что с него хватит, а заодно прихватил с собой пару дисков из массива. Вот тогда я впервые по-настояшему задумался о том, что цифровой мир подчиняется тем же жестоким законам, что и физический.
В теории, код и данные — это нечто вечное. Биты не ржавеют, скрипты не изнашиваются. Но на практике любая сложная система со временем деградирует. Это не просто отказ железа ; это медленный, неумолимый «постепенный скат в беспорядок» , который затрагивает всё: софт, конфигурации, данные. Это явление, которое я для себя называю цифровой энтропией, — наш с вами постоянный и невидимый враг. Наша работа — не просто строить системы, а вести непрерывную войну с их неизбежным распадом.
Эта статья — путешествие по самым темным уголкам цифровой энтропии. Мы заглянем в глаза её самым жутким проявлениям, поделимся байками из серверной и вооружимся как тактическими командами для экстренных случаев, так и стратегическими концепциями, которые помогут держать хаос в узде.
https://habr.com/ru/articles/950002/
👉 @sysadminof
👍9❤1💩1
Bash-Oneliner
Несколько лет назад я занимался биоинформатикой и был поражен тем, как однокомандные bash-команды могут быть намного быстрее, чем мои скучные скрипты. Учеба командам командной строки и написание скриптов помогло мне сэкономить много времени. В последние годы я занимаюсь облачными вычислениями и продолжаю записывать полезные команды здесь. Не все из них однострочные, но я стараюсь делать их краткими и быстрыми. В основном я использую Ubuntu, Amazon Linux, RedHat, Linux Mint, Mac и CentOS, прошу прощения, если команды не работают на вашей системе.
Этот блог будет посвящен простым bash-командам для парсинга данных и обслуживания систем Linux, которые я приобрел на работе и при сдаче экзамена LPIC. Прошу прощения за отсутствие подробных источников для всех команд, но, вероятно, они взяты из любимого Google и Stack Overflow.
Примеры:
Случайная генерация пароля (например, сгенерировать 5 паролей длиной по 13 символов каждый)
Случайный выбор 100 строк из файла
Случайный порядок (лотерея)
Вывести серию случайных чисел в диапазоне (например, перемешать числа от 0 до 100, затем случайным образом выбрать 15 из них)
Случайное число от 1 до 10
https://github.com/onceupon/Bash-Oneliner
👉 @sysadminof
Несколько лет назад я занимался биоинформатикой и был поражен тем, как однокомандные bash-команды могут быть намного быстрее, чем мои скучные скрипты. Учеба командам командной строки и написание скриптов помогло мне сэкономить много времени. В последние годы я занимаюсь облачными вычислениями и продолжаю записывать полезные команды здесь. Не все из них однострочные, но я стараюсь делать их краткими и быстрыми. В основном я использую Ubuntu, Amazon Linux, RedHat, Linux Mint, Mac и CentOS, прошу прощения, если команды не работают на вашей системе.
Этот блог будет посвящен простым bash-командам для парсинга данных и обслуживания систем Linux, которые я приобрел на работе и при сдаче экзамена LPIC. Прошу прощения за отсутствие подробных источников для всех команд, но, вероятно, они взяты из любимого Google и Stack Overflow.
Примеры:
Случайная генерация пароля (например, сгенерировать 5 паролей длиной по 13 символов каждый)
sudo apt install pwgen
pwgen 13 5
#sahcahS9dah4a xieXaiJaey7xa UuMeo0ma7eic9 Ahpah9see3zai acerae7Huigh7Случайный выбор 100 строк из файла
shuf -n 100 filenameСлучайный порядок (лотерея)
for i in a b c d e; do echo $i; done | shufВывести серию случайных чисел в диапазоне (например, перемешать числа от 0 до 100, затем случайным образом выбрать 15 из них)
shuf -i 0-100 -n 15Случайное число от 1 до 10
echo $(((RANDOM %10)+1))https://github.com/onceupon/Bash-Oneliner
👉 @sysadminof
👍12❤3🥱2
Большинство пользователей Linux знакомы с командой
Эта функция может быть особенно полезна системным администраторам и разработчикам, которым необходимо поддерживать несколько версий конфигурационных файлов или кода.
Понимание версионности в
Команда
1.
2.
Основное резервное копирование
Чтобы создать простую резервную копию:
Эта команда создаёт резервную копию с суффиксом по умолчанию в виде тильды (~) и инкрементирующимся номером.
Резервное копирование с пользовательским суффиксом
Для более описательных резервных копий:
Эта команда создаёт резервные копии с суффиксом .bak и инкрементирующимся номером.
Практический пример: Резервное копирование конфигурации SSH
Предположим, вы часто обновляете конфигурационный файл SSH (/etc/ssh/sshd_config) для управления правилами доступа. Вот как можно поддерживать версионные резервные копии:
1. Создайте нумерованную резервную копию:
Это создаст резервные копии, такие как sshd_config.~1~, sshd_config.~2~ и т.д.
2. Создайте нумерованную резервную копию с пользовательским суффиксом:
Это создаст резервные копии, такие как sshd_config.bak.1, sshd_config.bak.2 и т.д.
Преимущества
- Поддерживает историю изменений файлов
- Предотвращает случайное перезаписывание важных файлов
- Предлагает простую систему версионного контроля без необходимости в сложных инструментах управления версиями
👉 @sysadminof
cp для копирования файлов. Однако немногие знают о её встроенных возможностях версионного контроля.Эта функция может быть особенно полезна системным администраторам и разработчикам, которым необходимо поддерживать несколько версий конфигурационных файлов или кода.
Понимание версионности в
cpКоманда
cp предлагает два ключевых параметра для версионного контроля:1.
--backup: Создаёт резервную копию целевого файла перед его перезаписью.2.
--suffix: Указывает пользовательский суффикс для резервной копии файла.Основное резервное копирование
Чтобы создать простую резервную копию:
/$ cp --backup=numbered /path/to/source/file /path/to/destination/
Эта команда создаёт резервную копию с суффиксом по умолчанию в виде тильды (~) и инкрементирующимся номером.
Резервное копирование с пользовательским суффиксом
Для более описательных резервных копий:
$ cp --backup=numbered --suffix=.bak /path/to/source/file /path/to/destination/
Эта команда создаёт резервные копии с суффиксом .bak и инкрементирующимся номером.
Практический пример: Резервное копирование конфигурации SSH
Предположим, вы часто обновляете конфигурационный файл SSH (/etc/ssh/sshd_config) для управления правилами доступа. Вот как можно поддерживать версионные резервные копии:
1. Создайте нумерованную резервную копию:
$ cp --backup=numbered /etc/ssh/sshd_config /data/backup/
Это создаст резервные копии, такие как sshd_config.~1~, sshd_config.~2~ и т.д.
2. Создайте нумерованную резервную копию с пользовательским суффиксом:
$ cp --backup=numbered --suffix=.bak /etc/ssh/sshd_config /data/backup/
Это создаст резервные копии, такие как sshd_config.bak.1, sshd_config.bak.2 и т.д.
Преимущества
- Поддерживает историю изменений файлов
- Предотвращает случайное перезаписывание важных файлов
- Предлагает простую систему версионного контроля без необходимости в сложных инструментах управления версиями
👉 @sysadminof
👍14❤4🔥1
Резервное сохранение в Linux
Использование утилит копирования
Возможности жестких ссылок
источник
Мы в MAX
👉 @sysadminof
Использование утилит копирования
Возможности жестких ссылок
источник
Мы в MAX
👉 @sysadminof
👍6🤬1
Media is too big
VIEW IN TELEGRAM
Настройка контейнеров на RouterOS | Docker + PiHole
Начиная с RouterOS v7.5 маршрутизаторы mikrotik получили возможность устанавливать контейнеры docker. В этом видео мы узнаем, как правильно подготовить маршрутизатор и как развернуть контейнер в RouterOS.
В маршрутизаторах mikrotik начального уровня оперативной памяти недостаточно для корректной работы контейнеров docker, мы будем устанавливать контейнер docker на виртуальный сервер с установленной системой RouterOS. Вы можете выбрать оптимальную конфигурацию виртуального сервера с предустановленной RouterOS.
источник
Мы в MAX
👉 @sysadminof
Начиная с RouterOS v7.5 маршрутизаторы mikrotik получили возможность устанавливать контейнеры docker. В этом видео мы узнаем, как правильно подготовить маршрутизатор и как развернуть контейнер в RouterOS.
В маршрутизаторах mikrotik начального уровня оперативной памяти недостаточно для корректной работы контейнеров docker, мы будем устанавливать контейнер docker на виртуальный сервер с установленной системой RouterOS. Вы можете выбрать оптимальную конфигурацию виртуального сервера с предустановленной RouterOS.
источник
Мы в MAX
👉 @sysadminof
👍6❤2
Forwarded from Bash Советы
Как быстро найти и удалить пустые директории
Иногда в системах с большим количеством файлов и директорий накапливаются пустые папки. Вот простой способ найти и удалить их одним махом:
🔍 Разбор:
-
-
-
-
🛡 Важно:
Перед удалением рекомендую посмотреть, что именно будет удалено:
👉@bash_srv
Иногда в системах с большим количеством файлов и директорий накапливаются пустые папки. Вот простой способ найти и удалить их одним махом:
find /path/to/search -type d -empty -delete
🔍 Разбор:
-
/path/to/search — укажи директорию, где искать.-
-type d — ищем только директории.-
-empty — фильтруем только пустые.-
-delete — удаляем найденные.🛡 Важно:
Перед удалением рекомендую посмотреть, что именно будет удалено:
find /path/to/search -type d -empty
👉@bash_srv
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Fuck - это великолепная утилита, которое исправляет ошибки в предыдущих консольных командах.
Примеры:
➜
➜
...
➜
➜
Установка
На Ubuntu / Mint установите The Fuck с помощью следующих команд:
На FreeBSD установите The Fuck с помощью следующих команд:
На macOS или Linux установить The Fuck можно через Homebrew:
https://github.com/nvbn/thefuck
Мы в MAX
👉 @sysadminof
Примеры:
➜
apt-get install vim
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?➜
fuck
sudo apt-get install vim [enter/↑/↓/ctrl+c]
[sudo] password for nvbn:
Reading package lists... Done...
➜
git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master➜
fuck
git push --set-upstream origin master [enter/↑/↓/ctrl+c]
Counting objects: 9, done.
...Установка
На Ubuntu / Mint установите The Fuck с помощью следующих команд:
sudo apt update
sudo apt install python3-dev python3-pip python3-setuptools
pip3 install thefuck --userНа FreeBSD установите The Fuck с помощью следующих команд:
pkg install thefuckНа macOS или Linux установить The Fuck можно через Homebrew:
brew install thefuckhttps://github.com/nvbn/thefuck
Мы в MAX
👉 @sysadminof
👍12❤1