Две кнопки sysadmin'а

Знакомый выбор в пятницу вечером. #linux #sysadmin #юмор

12 июля 2026 г. · llexa

dd: образ диска и тест скорости

dd копирует байты блоками напрямую, минуя файловую систему — поэтому им снимают образы дисков побайтово и меряют реальную скорость I/O в обход кэша. Снять образ диска целиком: dd if=/dev/sda of=/mnt/backup/sda.img bs=4M status=progress Восстановить из образа: dd if=/mnt/backup/sda.img of=/dev/sda bs=4M status=progress Тест скорости записи в обход page cache: dd if=/dev/zero of=testfile bs=1M count=1024 oflag=direct status=progress Размер блока (bs) сильно влияет на результат — мелкий блок вроде 512 занижает скорость, 4M ближе к реальной пропускной способности диска. Тестовый файл после проверки не забыть удалить. #linux #disks

11 июля 2026 г. · llexa

nohup, disown, setsid: процесс без терминала

Закрыл SSH-сессию — и долгий процесс упал вместе с ней, получив SIGHUP. nohup, disown и setsid решают эту проблему по-разному: один игнорирует сигнал заранее, другой отвязывает уже запущенный процесс от shell, третий сразу создаёт для процесса отдельную сессию. Заранее защитить процесс от SIGHUP: nohup ./long-task.sh & Если процесс уже запущен в фоне текущего шелла: disown -h %1 Полная изоляция — без управляющего терминала с самого начала: setsid ./long-task.sh < /dev/null &> /tmp/task.log & setsid создаёт новую сессию, поэтому даже disown не нужен — процесс изначально не привязан к терминалу. Это то, что systemd и tmux используют под капотом для демонизации. ...

11 июля 2026 г. · llexa

xxd, hexdump, base64: бинарная инспекция из терминала

Иногда файл нужно смотреть не как текст, а как последовательность байт — определить формат по сигнатуре, найти повреждение или передать бинарник туда, где ждут только текст. Первые байты файла — обычно там сигнатура формата: xxd -l 16 file.bin Канонический hex-дамп: hexdump -C file.bin | head Бинарный файл текстом — например, для JSON или email-вложения: base64 -w0 file.bin > file.b64 base64 -d file.b64 > file.bin xxd дополнительно умеет обратное преобразование (xxd -r) — удобно поправить пару байт прямо в hex-дампе и собрать файл обратно. ...

11 июля 2026 г. · llexa

borg: дедупликация вместо голого tar

tar + cron работает, но каждый полный бэкап занимает столько же места, сколько предыдущий, а инкременты вручную собирать неудобно. borg дедуплицирует контент на уровне блоков — повторяющиеся куски между снапшотами не хранятся дважды, при этом каждый снапшот выглядит как полный. apt install borgbackup borg init --encryption=repokey /mnt/backup/repo borg create /mnt/backup/repo::'{hostname}-{now}' /etc /var/www /home borg list /mnt/backup/repo borg extract /mnt/backup/repo::myhost-2026-07-10T09:00:00 borg prune --keep-daily=7 --keep-weekly=4 /mnt/backup/repo Ключ шифрования (repokey) хранится внутри репозитория — держи отдельную копию passphrase, без неё восстановление невозможно. ...

10 июля 2026 г. · llexa

nethogs: кто жрёт канал прямо сейчас

iftop и nload показывают трафик по соединениям и интерфейсам, но не отвечают на вопрос “какой процесс это жрёт”. nethogs группирует трафик именно по PID — сразу видно виновника, без ручного сопоставления портов через ss. apt install nethogs # по умолчанию слушает все интерфейсы sudo nethogs # конкретный интерфейс sudo nethogs eth0 # несколько интерфейсов sudo nethogs eth0 wg0 Горячие клавиши внутри интерфейса: m — переключить единицы (KB/s ↔ MB/s) s — сортировка по отправленному r — сортировка по принятому q — выход Требует root (или CAP_NET_ADMIN) — читает трафик напрямую с интерфейса. ...

10 июля 2026 г. · llexa

sqlite3: работа с базой из терминала

SQLite часто прячется внутри других инструментов (та же tmux-workbench из недавней серии хранила индекс сессий в SQLite-файле). Открыть такую базу и посмотреть, что внутри, можно прямо из терминала — без GUI-клиентов вроде DB Browser. sqlite3 app.db .tables -- список таблиц .schema sessions -- структура конкретной таблицы .headers on -- показывать заголовки колонок .mode column -- вывод в столбик, а не через | SELECT * FROM sessions LIMIT 5; .dump > backup.sql -- полный дамп базы в SQL .import data.csv table -- импорт CSV в существующую таблицу .quit Файл базы — это просто файл на диске: cp app.db app.db.bak — тоже валидный бэкап, если в момент копирования нет активных транзакций. ...

10 июля 2026 г. · llexa

vnstat: история трафика без Grafana

nethogs и iftop показывают трафик здесь и сейчас, но не отвечают на вопрос “сколько утекло за сутки/месяц”. vnstat работает как демон в фоне, копит статистику по интерфейсам и хранит её после перезагрузки — без полноценного стека мониторинга. apt install vnstat # демон стартует сам и начинает копить статистику systemctl status vnstat # общая сводка по всем интерфейсам vnstat # по часам / дням / месяцам vnstat -h vnstat -d vnstat -m # live-график в реальном времени vnstat -l -i eth0 Конфиг — /etc/vnstat.conf: там задаются интерфейсы, единицы измерения и глубина хранения истории. ...

10 июля 2026 г. · llexa

Афоризмы Мёрфи #5: Третье следствие

Продолжаем разбирать классику Артура Блоха. После “ничто не делается так просто, как кажется” в прошлом выпуске и “всё занимает больше времени, чем кажется” в позапрошлом — третье следствие закона Мёрфи: «Из нескольких способов, которыми что-то может пойти не так, обязательно реализуется тот, что принесёт больше всего вреда» Каждый, кто хоть раз проверял бэкап только после того, как понадобилось восстановление, узнает себя мгновенно. Сломается не то, что легко пофиксить, а то, что заденет продакшн в пятницу вечером. ...

10 июля 2026 г. · llexa

Новые версии: 3 июля — 10 июля

Новые релизы за неделю — только то, что важно для сервера. prometheus v3.5.5 — [SECURITY] UI: обновили sanitize-html до v2.17.5, закрыли CVE-2026-53606. keycloak 26.7.0 — новые возможности для пользователей и администраторов Keycloak. syncthing v2.1.2 — поддержка HTTP/HTTPS-прокси с CONNECT, в дополнение к существующему SOCKS. patroni v4.1.4 — плановый релиз с фиксами. alertmanager v0.33.1 — фикс отсутствующего поля notification_reason в webhook-документации. immich v3.0.1 — фикс бага с альбомами, не отображавшимися в мобильном приложении. skim v5.0.0 — крупный релиз после v4: добавлена поддержка Windows. #linux #sysadmin #releases

10 июля 2026 г. · llexa