fa
Feedback
LinuxCamp | DevOps

LinuxCamp | DevOps

رفتن به کانال در Telegram

Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование. Админ (реклама): @XoDefender Чат: @linuxcamp_chat Менеджер: @Spiral_Yuri Биржа: https://telega.in/c/linuxcamp_tg РКН: https://clck.ru/3RWA3C

نمایش بیشتر

📈 تحلیل کانال تلگرام LinuxCamp | DevOps

کانال LinuxCamp | DevOps (@linuxcamp_tg) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 13 959 مشترک است و جایگاه 9 131 را در دسته فناوری و برنامه‌ها و رتبه 47 183 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 13 959 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 06 ژوئیه, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -98 و در ۲۴ ساعت گذشته برابر -3 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 27.85% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 10.66% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 3 888 بازدید دریافت می‌کند. در اولین روز معمولاً 1 489 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 23 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند linuxcamp, ядро, linux, диск, docker تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование. Админ (реклама): @XoDefender Чат: @linuxcamp_chat Менеджер: @Spiral_Yuri Биржа: https://telega.in/c/linuxcamp_tg РКН: https://clck.ru/3RWA3C

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 07 ژوئیه, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

13 959
مشترکین
-324 ساعت
-277 روز
-9830 روز
آرشیو پست ها
nft: современный фаервол в Linux, который заменил iptables nft — это утилита для управления nftables, новой подсистемой фаервола в ядре Linux. Она пришла на смену старым и запутанным инструментам: iptables, ip6tables, ebtables, arptables. Теперь всё делается в одной системе, единым языком, более эффективно и понятно. Зачем нужен nft? - Чтобы блокировать или разрешать трафик (фаервол). - Для перенаправления портов (DNAT / SNAT). - Чтобы настроить NAT, логирование, rate limiting и т.д. - Управлять IPv4, IPv6, Ethernet, ARP в одной таблице. Установка nft На многих дистрибутивах nft уже предустановлен. Если нет:

# Debian / Ubuntu
sudo apt install nftables

# Red Hat / CentOS / Fedora
sudo dnf install nftables

# Arch Linux
sudo pacman -S nftables
Как работает nftables В отличие от iptables, где каждая подсистема жила в своём мире (разные команды для IPv4, IPv6, ARP...), nftables работает с едиными таблицами и цепочками, и одним конфигом. Простой пример через команды:

# Создаём таблицу и цепочку
sudo nft add table inet filter
sudo nft add chain inet filter input { type filter hook input priority 0 \; }

# Блокируем IP-адрес
sudo nft add rule inet filter input ip saddr 203.0.113.42 drop
Конфиг-файл "/etc/nftables.conf". В реальности, правила лучше описывать в конфиге, чтобы сохранять и применять при старте:

#!/usr/sbin/nft -f

table inet filter {
  chain input {
    type filter hook input priority 0;
    policy accept;

    # Блокируем IP
    ip saddr 203.0.113.42 drop

    # Разрешаем SSH
    tcp dport 22 accept
  }
}
Применить файл:

sudo nft -f /etc/nftables.conf
И включить автозапуск:

sudo systemctl enable nftables
sudo systemctl start nftables
Как проверить, что правила работают Посмотреть текущие правила:

sudo nft list ruleset
Или только одну таблицу:

sudo nft list table inet filter
Вывод будет в читабельной иерархии, например:

table inet filter {
    chain input {
        type filter hook input priority 0; policy accept;
        ip saddr 203.0.113.42 drop
        tcp dport 22 accept
    }
}
Чтобы перезаписать все старые правила, используйте:

sudo nft flush ruleset
Что делает nft круче iptables - Одна система вместо четырёх: больше не нужно думать iptables vs ip6tables. - Наборы (sets): можно сразу заблокировать десятки IP без повторений. - Списки и словари: условная логика в правилах. - Rate limiting: ограничение по частоте (например, не более 10 пакетов/сек). - Логирование прямо в правило: встроенная поддержка log. - Конфиги, читаемые человеком, пригодные для версионирования. - Высокая производительность: меньше затрат ядра, быстрее работает. Совет Если вы раньше использовали iptables, не стоит мешать его правила с nftables. Лучше отключить iptables и перейти на nft полностью:

sudo systemctl disable iptables
sudo systemctl disable ip6tables
LinuxCamp | #utils

🎯 Всё больше IT-специалистов (особенно мидлов и синьоров) отмечают, что поиск вакансий по времени можно сравнить с отдельной работой. Особенно если мониторишь предложения по   нескольким критериям, варианты из ЕС, США или с полной удалёнкой. 🔎 В последнее время стали появляться инструменты, которые помогают автоматизировать этот процесс и собирают данные из сотен источников — от Telegram-каналов до Indeed — и выдают уже отфильтрованные варианты. 💬 В обсуждениях попадался бот https://t.me/find_dream_offer_bot, который по описанию — вроде может  решать похожие задачи. Сами не тестировали, но идея звучит как минимум интересно — мониторинг кучи источников, фильтрация, отсутствие дублей с получением данных в одном месте. 🤔 Интересно насколько это правдивые сведения и что к чему на самом деле.

ss: современный способ смотреть порты и сетевые соединения ss - сверхбыстрая альтернатива netstat для просмотра информации о сетевых соединениях, портах и сокетах. Работает быстрее, точнее и доступна почти на всех системах по умолчанию. Когда полезен ss: - Смотришь, кто слушает порт. - Проверяешь, есть ли подключения к сервису. - Диагностируешь, почему не работает соединение. - Ищешь утечку сокетов или странную сетевую активность. Базовый синтаксис:
ss [опции]
Полезные команды: Кто слушает TCP-порты:
ss -tln
-t - только TCP -l - только LISTEN -n - показывать IP/порт как числа (не домены) Какие процессы заняли порты:
ss -tulpn
-u - отвечает за UDP -p - показать PID и имя процесса (если root) Какие процессы заняли порты:
ss -tunap
Сокеты в состоянии TIME-WAIT или CLOSE-WAIT:
ss -tan state time-wait
ss -tan state close-wait
Сортировка по количеству соединений:

ss -tan | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head
Преимущества: - ss показывает гораздо больше сокетов, чем netstat и делает это быстрее. - Отлично сочетается с grep, awk, cut — можно быстро написать фильтры. - Если хочешь отслеживать соединения в динамике — используй watch ss -tulpn. LinuxCamp | #utils

Фриланс в IT без головной боли с Mellow Работаешь на Upwork, Toptal или напрямую с клиентами из-за границы? Тогда ты знаешь,
Фриланс в IT без головной боли с Mellow Работаешь на Upwork, Toptal или напрямую с клиентами из-за границы? Тогда ты знаешь, как сложно настроить приём платежей, не потеряв деньги на комиссиях или налогах. Mellow берёт на себя всю рутину, чтобы ты мог писать код, а не разбираться в бумагах. Почему Mellow — твой лучший выбор: — Помогает получать оплату от клиентов из любой точки мира. — Позволяет выставлять инвойсы в 2 клика — Обеспечивает безопасность сделки. — Предоставляет документы для налоговой: договор, счет и акт выполненных работ. — Выводит средства куда удобно — ИП, карта, электронный кошелёк. — Сопровождает на каждом этапе. Подходит для подготовки документов на визу цифрового кочевника. 📌 Комиссия всего 5% от суммы сделки— всё прозрачно, без сюрпризов. Забирай гайд «Как фрилансеру принимать оплату от зарубежных клиентов в 2025 году» — узнай, как работать с платежами в разных странах, избежать налоговых ошибок и упростить фриланс. Плюс запишись на бесплатную консультацию с Mellow: разберут твой кейс — где ты живёшь, кто твой клиент, как оформить платежи, чтобы всё работало гладко. 👉 Переходи в чат-бот: https://t.me/mellowguide_bot?erid=2Vtzqw5SeSB Реклама. Рекламодатель "FRWD Limited", Гонконг, регистрационный номер - 74403551. erid:2Vtzqw5SeSB

lsof: что держит порт, файл или устройство занятым? Если ловил ошибку "Address already in use" или не получалось размонтировать флешку - значит, уже сталкивался с ситуацией, когда что-то заняло ресурс. Команда lsof поможет быстро понять - кто именно. Зачем использовать lsof: - Узнать, кто держит занят порт (например, 80 или 5432). - Посмотреть, кто пишет в лог или блокирует файл. - Проверить, кто мешает размонтировать диск (umount). - Увидеть, какие файлы открыты у процесса (отладки и утечки). Примеры: Кто занял порт 5432 (PostgreSQL):

lsof -i :5432
Какие процессы используют файл:

lsof /var/log/syslog
Какие процессы используют определённую директорию:

lsof +D /mnt/backup
Посмотреть открытые файлы у PID:
lsof -p 1234
Что мешает размонтировать:
lsof /mnt/usb
Лайфхаки: Совмещай с grep, чтобы быстрее искать нужное:

lsof -i | grep LISTEN
Можно убить процесс, который держит порт:

kill -9 $(lsof -t -i :1234)
LinuxCamp | #utils #microhelp

DevOps и SRE: конкуренты или союзники в борьбе за надёжность? Где заканчивается зона ответственности DevOps-инженера и начина
DevOps и SRE: конкуренты или союзники в борьбе за надёжность? Где заканчивается зона ответственности DevOps-инженера и начинается область контроля SRE? Приглашаем на открытый урок, где разберём разницу между подходами DevOps и SRE, особенно — в контексте Service Level Indicators (SLI), Service Level Objectives (SLO) и Service Level Agreements (SLA). ✅ Вы узнаете, как эти практики помогают создавать надёжную платформу и кто за что отвечает в команде. 📌 Обсудим как DevOps и SRE трактуют «качество платформы». И кто за какими метриками следит: производительность, аптайм, алерты, ошибки ⬆️ Протестируй курс «SRE практики и инструменты» на открытом уроке: https://tglink.io/d2d7b4454dcc?erid=2W5zFGgTbBN #реклама О рекламодателе

Команда watch: живой взгляд на процессы и метрики watch - утилита, которая повторно запускает любую команду через заданный интервал (по‑умолчанию 2 сек) и отображает её вывод полноэкранно. Подходит, когда: 1) нужно увидеть изменение метрики прямо сейчас; 2) нет времени поднимать полноценный мониторинг; 3) требуется «подкараулить» событие и выйти, как только оно случится; 4) Работает везде: на Debian, BusyBox в Alpine, внутри Docker‑контейнера; Базовый синтаксис
watch [-n <сек>] [-d] [-g] [-t] [-p] [-e] [-x] <команда>
Ключевые опции "-n 5” — устанавливает интервал в 5 с. Хорош для медленных команд и экономии CPU; -d — подсвечивает изменения относительно предыдущего вывода. Удобно отслеживать «скачки»; -g — автоматически выходит, как только вывод изменится; полезно, когда ждёте окончания бэкапа; -e — завершает работу при ненулевом exit‑коде команды. Превращает watch в health‑check; -t — убирает заголовок watch. Идеален для чистых скриншотов; -p — синхронизирует запуск с системными секундами. Это важно при очень частых опросах, например "-n 0.2"; -x — запускает команду без обёртки в shell. Это помогает, если команда содержит символы вроде $ или *, которые интерпретируются bash'ем; Практические примеры Топ прожорливых процессов

watch -n 1 -d 'ps -eo pid,cmd,%cpu --sort=-%cpu | head'
Ждём появления строки ERROR в логе и выходим

watch -g "grep -q ERROR /var/log/app.log"
echo 'Нашли ERROR!'
Мини‑график latency

watch -n 0.2 -p 'ping -c1 1.1.1.1 | awk -F"=" "/time=/{print $4}"'
Лайфхаки "-d" подсвечивает изменения — удобно, когда хочешь быстро понять, что именно изменилось. Добавь "--differences=permanent", чтобы подсветка не исчезала между обновлениями. "-t" убирает заголовок watch — идеально для чистых логов или скриншотов. "-p" даёт ровный ритм (1 Hz и выше), полезно для прецизионного мониторинга. "-g" или "-e" + немного shell'а — и у тебя мини-скрипт, который реагирует на событие. LinuxCamp | #utils

Полный контроль над Kubernetes через мониторинг и логи ⚡️Хотите уверенно выявлять сбои, мониторить метрики и быстро находить
Полный контроль над Kubernetes через мониторинг и логи ⚡️Хотите уверенно выявлять сбои, мониторить метрики и быстро находить ошибки в k8s? За 12 часов теории и 44 часа практики вы не только освоите широкий стек инструментов, но и best practices по ним. ⚡️Курс «Мониторинг и логирование инфраструктуры в Kubernetes» — быстрый способ научиться выстраивать эффективную систему мониторинга. На обучении вы поймёте:  - Как обеспечить долгосрочное хранение метрик распределённо месяцы и годы для анализа динамики и сравнения графиков - Какие метрики стоит собирать с помощью Prometheus - Как визуализировать мониторинг с помощью Grafana и как грамотно настроить алерты ☄️Старт — 7 июля. Прямо сейчас по промокоду LETO2025 вы можете занять место со скидкой ❗️50%❗️ *промокод вводится при оформлении оплаты Вводите в эксплуатацию мониторинг и логирование инфраструктуры в k8s сразу после курса и станьте ещё востребованнее на рынке IT.  👉🏻Смотреть программу и применить скидку

Оптимизация Dockerfile и образов Общие принципы - Каждая инструкция Dockerfile создаёт слой - по возможности объединяй команды RUN, чтобы минимизировать количество слоёв. - Не используй latest: фиксируй версии образов и зависимостей для стабильности и воспроизводимости. - Всегда указывай версии зависимостей:

flask==3.0.0
psycopg2==2.9.9
PyJWT==2.6.0
Правильная структура Dockerfile

FROM python:3.10

WORKDIR /app

# копируем только requirements для кэширования установки
COPY requirements.txt . 
RUN pip install --no-cache-dir -r requirements.txt && \
    rm -rf /root/.cache

# копируем остальной код
COPY . .

CMD ["python", "main.py"]
CMD vs ENTRYPOINT CMD задаёт команду по умолчанию, которую можно переопределить при запуске контейнера. ENTRYPOINT фиксирует поведение и используется, когда контейнер должен всегда выполнять определённую задачу (например, CLI-инструмент). Обычно их комбинируют: ENTRYPOINT задаёт неизменяемую часть, CMD — параметры по умолчанию. - CMD — удобно для простого запуска, - ENTRYPOINT — для CLI-обёрток и скриптов, где логика жёстко зафиксирована. Советы по чистке - Используй "--no-cache-dir" при установке pip-зависимостей. - Удаляй .cache, временные и сборочные файлы (pycache, .pytest_cache и т.д.). А лучше использовать ".dockerignore":

__pycache__/
*.pyc
.git
.venv
.pytest_cache
Оптимизация кэширования Сначала копируй наименее изменяемые файлы (например, requirements.txt) — это позволяет использовать кэш при сборке. Многоступенчатая сборка (multi-stage build) Когда мы собираем Docker-образ, нам часто нужны временные инструменты — компиляторы, менеджеры зависимостей и прочее. Но в финальном образе они уже не нужны и только раздувают размер. Multi-stage build позволяет: 1) сначала собрать проект во временном образе (build stage), 2) а затем в финальный образ перенести только то, что нужно для запуска (runtime stage), 3) не таща за собой мусор и сборочные инструменты. Пример для python:

FROM python:3.10 as builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

FROM python:3.10-slim
WORKDIR /app
COPY --from=builder /usr/local/lib/python3.10/site-packages /usr/local/lib/python3.10/site-packages
COPY . .
CMD ["python", "main.py"]
Пример для Go:

FROM golang:1.21 as build
COPY . .
RUN go build ./src/main.go

FROM alpine:latest
COPY --from=build /go/main .
CMD ["./main"]
LinuxCamp | #utils #devops

Как поднять производительность highload-системы На Хабре вышла статья. Рассказывают, как уйти от внешнего TLS-терминатора, внедрить шифрование прямо в ядро (kTLS) на Go и задействовать zero-copy через splice() и sendfile(). Итог: До 40 тысяч соединений, CPU загружен меньше чем на 10%, стабильный прод и до 70+ Gbps с одного 1U-сервера. Показывают, как обойтись без NGINX, собрать свои EDGE-сервера, грамотно балансировать трафик и упростить инфраструктуру, не жертвуя надёжностью. Автор от команды Kinescope. И, кстати, они сейчас в поиске Go-разработчика: задачи по highload, своей CDN, gRPC и продакшену на сотни гигабит. Удалёнка, компактная команда, минимум процессов. Кому актуально — держите ссылку.

Что такое logrotate и как он спасает ваши диски Системные логи могут незаметно занять весь диск, особенно если ты держишь nginx, docker, или пишешь логи вручную. Если ты ещё не настроил logrotate — однажды тебя очень удивит "df -h". Разберёмся, что это и как работает. Что делает logrotate logrotate — это системная утилита, которая: - архивирует старые логи (обычно в .gz) - удаляет логи старше N дней/версий - переименовывает файлы (access.log → access.log.1, и т.д.) - может перезапускать сервис после ротации (чтобы лог снова появился) Где живёт конфиг Ubuntu и Debian по умолчанию кладут правила в "/etc/logrotate.d/*" - здесь обычно уже лежат готовые правила для nginx, apt, docker и т.д. Но конфиги — это ещё не запуск. Даже если правила лежат в logrotate.d, они не будут применяться, если logrotate либо не установлен, либо не запускается ни через cron, ни через systemd. Можно проверить работает ли logrotate у тебя уже. Посмотри, запланирован ли таймер:

systemctl list-timers | grep logrotate
Как всё включить Установи, если не установлен:

sudo apt install logrotate
У тебя появится файл "/etc/logrotate.conf". Также появится автоматически сервис и таймер ротации логов. Можно запустить systemd‑таймер, если не запустился автоматически:

sudo systemctl enable --now logrotate.timer
Как добавить своё правило Если у тебя, например, есть лог "/var/log/myapp.log". Создай конфиг, после чего файл будет ротироваться вместе с остальными:
/var/log/myapp.log {
    daily              # ротация каждый день
    rotate 7           # хранить 7 архивов
    compress           # архивировать .gz
    missingok          # не ругаться, если файла нет
    notifempty         # не трогать, если пустой
    copytruncate       # обрезать файл, не перезапуская процесс
}

sudo nano /etc/logrotate.d/myapp
Что с Docker? Docker пишет логи в "/var/lib/docker/containers/.../*.log". Они не попадают под системный logrotate. Чтобы ограничить размер:
# /etc/docker/daemon.json
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}
Затем:

sudo systemctl restart docker
Что с journalctl? Если сервисы логируют в systemd‑журнал, ротация настраивается в "/etc/systemd/journald.conf". Пример параметров: SystemMaxUse=500M SystemMaxFileSize=100M MaxRetentionSec=7day Вывод 1) Конфиги в logrotate.d — это ещё не автомат 2) Сначала проверь, может уже всё работает 3) Самый надёжный способ — logrotate.timer 4) Docker и journalctl — отдельные истории LinuxCamp | #utils #devops #bymaga

Как DevOps-инженеру сэкономить часы работы и избежать ошибок с помощью AI-инструментов ▶️ воркшоп от учебного центра Слёрм с
Как DevOps-инженеру сэкономить часы работы и избежать ошибок с помощью AI-инструментов ▶️ воркшоп от учебного центра Слёрм с Виктором Чаплыгиным, Senior Engineer в международном GameDev холдинге. Что будет на воркшопе: Теория: кратко о том, как работают LLM в контексте разработки и эксплуатации. Обзор Cursor IDE — AI-интегрированная IDE с поддержкой кода и терминала. Практика: 🔹 Настройка Cursor IDE — подготовка среды для продуктивной работы с AI; 🔹 Создание и отладка IaC (Kubernetes YAML, Ansible) с помощью AI-ассистентов: выявление и исправление ошибок; 🔹 Генерация понятной и структурированной документации к проектам с помощью AI; 🔹 Разбор реальных кейсов и работа с командной строкой: исправление, пояснение, улучшение команд и манифестов. А ещё — личный опыт и лучшие практики применения GPT-ассистентов для повседневных DevOps-задач, от написания инфраструктуры до исправления ошибок и генерации документации. Когда: 5 июля 2025 года 📆 Узнать подробности и занять место на воркшопе — через бота 📌

Caddy - замена Nginx с авто-TLS и минимальной настройкой Ты наверняка используешь Nginx как прокси-сервер или для выдачи статики. Но есть более свежий и удивительно простой веб-сервер - Caddy. Он сам получит HTTPS, сам перезапустится при изменении конфига и вообще просит к себе минимум внимания. Разбираемся, чем он крут. Caddy — это современный веб-сервер, написанный на Go. Его главная фишка — всё работает из коробки: 1) Автоматический HTTPS от Let's Encrypt 2) Перезапуск при изменении конфига 3) Встроенный reverse proxy 4) Простая конфигурация (Caddyfile) Установка:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy.gpg

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list

sudo apt update
sudo apt install caddy
Минимальный пример Caddyfile:
example.com {
  reverse_proxy localhost:3000
}
- Заменяешь "example.com" на свой домен - localhost:3000 (твой сервис); Запуск сервера Caddy работает как systemd-сервис. Чтобы запустить или перезапустить:

sudo systemctl restart caddy
После этого caddy сам проверит домен, получит HTTPS-сертификат от Let's Encrypt, настроит прокси и всё заработает) Почему это удобно - Не нужно возиться с SSL — HTTPS работает из коробки - Конфигурация проще, чем у Nginx - Отлично подходит для pet-проектов, демо, VPS-серверов Когда лучше остаться с Nginx 1) Если у тебя уже сложная конфигурация с множеством rewrite, map, ssl_params 2) Если нужна кастомная сборка модулей 3) Если используешь stream (TCP/UDP proxy) LinuxCamp | #utils #devops

Что такое Ansible - и как обновить пакеты сразу на 10 серверах Ansible - это инструмент для автоматизации. Он позволяет управлять сотнями серверов как одним: обновлять, настраивать, перезапускать сервисы - всё с помощью простого playbook (набор команд в YAML-файле). Для начала нужно скачать Ansible:

sudo apt install ansible -y
Вот минимальный пример update.yml:
- name: Обновление пакетов
  hosts: all
  become: yes  # получаем root-доступ
  tasks:
    - name: apt update && upgrade
      apt:
        update_cache: yes
        upgrade: dist
Как это работает: hosts: all - применяем ко всем серверам из инвентаря become: yes - выполняем от имени root apt: - встроенный модуль Ansible для Debian/Ubuntu Запуск:

ansible-playbook -i inventory update.yml
Для подробностей можно добавить -v или -vvv:

ansible-playbook update.yml -vvv
А если хочешь сначала посмотреть, что бы изменилось, но не выполнять, используй режим dry run:

ansible-playbook update.yml --check
LinuxCamp | #utils

🆒 Добавлена новая база слитых курсов на 800ГБ: 📱 Python: https://t.me/+V4L6o1XoNQJkOTBi 📱 Программирование: https://t.me/+
🆒 Добавлена новая база слитых курсов на 800ГБ: 📱 Python: https://t.me/+V4L6o1XoNQJkOTBi 📱 Программирование: https://t.me/+NYWXByg4aDBhYjk6 📱 Графика и дизайн: https://t.me/+iTCYKOWfOkE3YWZi 📱 Frontend и Web: https://t.me/+RvI3D4bPJQc1YmIy

Repost from ITCamp | AI & Code
Пацаны, биг дроп на канале! Видео про мифы, которые мешают стать программистом. Посыл в том, что многие новички очень часто п
Пацаны, биг дроп на канале! Видео про мифы, которые мешают стать программистом. Посыл в том, что многие новички очень часто переживают из-за всяких мелочей и формируют ошибочные установки: 1) без английского у меня ничего не получится; 2) обязательно нужно высшее образование; 3) я не потяну эту науку; 4) смысл мне начинать, если AI через пару лет всех заместит; И это на самом деле может демотивировать. Человек, вместо того, чтобы репу чесать и сомневаться, способен заспидранить обучение и через год выйти на первую работу) А там уже все, если и опыт есть, начнешь пожинать плоды своих трудов и радоваться жизни. На самом деле, огромные перспективы открываются. В ролике я по фактам разбираю каждый миф. Есть, с чем согласиться и что опровергнуть. Смотреть на YouTube

Новички в Linux выбирают стартовый дистрибутив. Не, ну мимо юбунты никто не проходит 😂 LinuxCamp | #memes

Как выбрать подходящий путь для внутренней платформы разработки? Приглашаем на вебинар, посвящённый ключевым аспектам платфор
Как выбрать подходящий путь для внутренней платформы разработки? Приглашаем на вебинар, посвящённый ключевым аспектам платформенной инженерии. 🗓 20 июня | 🕒 12:00 На вебинаре обсудим: 🔸 3 варианта построения платформы (плюсы/минусы каждого). 🔸 Почему растёт спрос на платформы разработки – глобальные тренды и локальные особенности. 🔸 Как оценить риски внедрения разных видов платформ? 🔸 Что такое модель 7С и как применить DORA-метрики в вашем случае. Формат: плотный разбор темы за 40 мин + ответы на ваши вопросы.  Спикер: Алексей Зимонин, старший техлид по практикам DevOps в бизнес-юните «Экспресс 42» (АО «Флант»).💪 14 лет в ИТ, строил highload-инфраструктуру в телекоме, запускал платформу, которая масштабировалась до уровня «фабрики». 🔗 Зарегистрироваться Для кого: CTO, DevOps, Platform Engineers, ИТ-менеджеры, разработчики. P.S. Во время эфира всем участникам подарим готовую памятку для платформенной команды с лучшими практиками Platform Engineering.

Systemd Timer - альтернатива cron Если ты используешь cron для запуска скриптов по расписанию - пора бы взглянуть в сторону systemd timer. Это часть системы systemd - более новый и с фишками, которых нет в cron. Разберёмся, зачем он нужен и как с ним работать. Что умеет systemd timer systemd timer позволяет запускать задачи по расписанию вместо или в дополнение к cron. Отличается он несколькими вещами: 1) Привязан к сервису systemd (можно логировать, отслеживать статус, перезапускать); 2) Логирует всё через journalctl (никаких потерянных логов). Можно быстро проверить, когда скрипт реально запускался и с каким результатом; 3) Флаг "Persistent=true" позволяет выполнить задачу после включения сервера, если она была пропущена во время выключения; 4) Можно задавать зависимости, например, чтобы очистка выполнялась только после поднятия сети, или после других сервисов; 5) Более гибкое расписание такого вида "OnCalendar=Wed 09:44"; Пример запуска скрипта. Возьмём тот, что был в прошлом посте. Создадим юнит для сервиса:

$ nano /etc/systemd/system/clean-server.service
[Unit]
Description=Автоматическая еженедельная очистка сервера

[Service]
Type=oneshot
ExecStart=/usr/local/bin/clean-server.sh
Создаем таймер:

nano /etc/systemd/system/clean-server.timer
[Unit]
Description=Таймер для еженедельной очистки сервера

[Timer]
OnCalendar=Sun 02:00
Persistent=true

[Install]
WantedBy=timers.target
Активируем:

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable --now clean-server.timer
Можем проверить статус:

systemctl list-timers | grep clean-server
И посмотреть те самые автоматические логи:

systemctl status cleanup-server.timer
# или
journalctl -u clean-server.timer 
Короч, systemd timer - более современный способ управлять задачами по расписанию. Он не заменяет cron полностью, но стоит внимания в большом количестве случаев. LinuxCamp | #utils #cron