Я хочу стать вайб-программистом
Open in Telegram
Заказать рекламу: https://telega.in/c/iwannabeprogrammer Контакт: @Filgood777 (реклама, сотрудничество) VK: https://vk.com/iwannabeprogrammer MAX: https://max.ru/iwannabeprogrammer
Show more2 830
Subscribers
-224 hours
-77 days
-2230 days
Posts Archive
Repost from Linux Club
systemd watchdog: перезапуск зависших сервисов
Что это вообще такое
Watchdog в systemd - это механизм, который перезапускает сервис, если он завис, даже если процесс формально жив. Не по exit-коду, а по факту отсутствия уведомления.
Минимальная настройка
В юните сервиса:
[Service]
Type=notify
WatchdogSec=30
Это значит, что сервис обязан раз в 30 секунд подтверждать, что он работает. Сервис пингует systemd через sd_notify. Простейший пример (bash):
while true; do
systemd-notify WATCHDOG=1
sleep 10
done
Если systemd-notify перестаёт вызываться watchdog срабатывает. При зависании, даже если процесс жив, но зациклился, завис на I/O, ушёл в deadlock, перестал обрабатывать события systemd считает сервис мёртвым и делает:
Watchdog timeout, restarting service
Проверка, что watchdog активен
systemctl show myservice | grep Watchdog
И в логах:
journalctl -u myservice | grep watchdog
Частая ошибка
Type=simple
WatchdogSec=30
Не сработает. Watchdog требует Type=notify, иначе systemd не ждёт сигналов.
Вывод
systemd watchdog можно использовать как защита от зависаний, а не падений. Если сервис может застыть, но не упасть, то watchdog лучше включить watchdog.
#linux
🐧 Linux Club ©Освой сети и командную строку с лучшими обучающими каналами
🤩 Network Admin - обучающий канал по сетевым технологиям
🤩 Network Admin | Guides - канал, где рассказывают полезную информацию про Windows/Linux
📱 BashTex - обучение работе с командной строкой
Repost from Linux Club
🎄 Новогодний Linux-лайфхак: включи праздничный режим в терминале
Сделай себе новогоднюю команду в Linux: один короткий вызов, и терминал очищается, пишет праздничное сообщение, показывает дату и календарь текущего месяца. Удобно открыть год прямо из консоли и зарядиться настроением перед работой.
Просто добавь функцию в свой ~/.bashrc или ~/.zshrc, перезапусти терминал и запускай её в любой момент праздников.
# добавь это в ~/.bashrc или ~/.zshrc
ny() {
clear
echo "❄️ Happy Linux New Year! ❄️"
echo "🎄 Пусть твой терминал падает только от смеха!"
date
cal
}
# после сохранения перезапусти терминал и запускай команду:
# ny
#linux
🐧 Linux ClubRepost from Linux Club
Шпаргалка по nftables
nftables - это инструменту для фильтрации пакетов в Linux, пришедшему на смену iptables.
1. Запуск
nft list ruleset # Показать все правила
nft add table ip filter # Создать таблицу filter для IPv4
nft add chain ip filter input # Создать цепочку input в таблице filter
2. Добавление правил
- Принять пакеты от локального хоста:
nft add rule ip filter input ip saddr 127.0.0.1 accept
- Блокировать входящий трафик на порт 80:
nft add rule ip filter input tcp dport 80 drop
- Разрешить весь исходящий трафик:
nft add rule ip filter output accept
3. Удаление
nft delete rule ip filter input handle <номер> # Удалить правило по handle
nft delete chain ip filter input # Удалить цепочку input
nft delete table ip filter # Удалить таблицу filter
4. Сохранение и загрузка конфигурации
nft list ruleset > /etc/nftables.conf # Сохранить правила
nft -f /etc/nftables.conf # Загрузить правила из файла
5. Создание логирования
nft add rule ip filter input log prefix "IN: " level debug
🔵Типы объектов
1. Таблицы (tables) – В nftables таблицы служат для организации правил. Каждая таблица привязывается к семейству (например, ip, ip6).
2. Цепочки (chains) – Цепочки представляют собой наборы правил. Основные встроенные цепочки: input, output, forward.
3. Правила (rules) – Условия и действия, выполняемые на пакетах, такие как accept, drop, reject, log.
🔵Основные операторы
- accept – Разрешить пакет.
- drop – Заблокировать пакет.
- reject – Отклонить с ответом.
- log – Вести лог пакетов.
🔵Примеры сложных правил
1. Ограничение скорости (rate limiting):
nft add rule ip filter input limit rate 5/second accept
2. Использование сетов для IP-адресов:
nft add set ip filter blacklist { type ipv4_addr; }
nft add rule ip filter input ip saddr @blacklist drop
nft add element ip filter blacklist { 192.168.1.1, 10.0.0.0/8 }
3. Redirect на другой порт:
nft add rule ip nat prerouting tcp dport 80 redirect to 8080
- Используйте nft monitor для слежения за изменениями правил в реальном времени.
- Включайте логирование при тестировании правил для отладки (log prefix "TEST: ").
- nftables имеет более гибкий синтаксис, чем iptables, и поддерживает более сложные условия и комбинации.
#linux
🐧 Linux ClubНе могу это объяснить, но мне оч нравятся мемы про #1C
🤩 Я хочу стать программистом ©
Задеплоить в продакшен 31 декабря в 23:59:59
🤩 Я хочу стать программистом 🎄
Есть ли еще программисты, которые изучают основы, прежде чем позволить ИИ писать код за них?
Мы в MAX: 📲 https://max.ru/iwannabeprogrammer
🤩 Я хочу стать программистом 🎄
Available now! Telegram Research 2025 — the year's key insights 
