Linux, сети и домашняя инфраструктура — коротко, чтобы не забыть.
ZFS scrub раз в месяц, а не раз в неделю
Год гонял scrub еженедельно на паре зеркал из SATA-дисков и в итоге
отказался. На здоровом пуле недельный цикл ничего не находит, зато диски
постоянно тёплые и слышно их из соседней комнаты.
0 3 1 * * /usr/sbin/zpool scrub tank
Раз в месяц ночью первого числа. За полгода ни одной ошибки контрольных сумм,
а средняя температура упала на четыре градуса. Если пул из б/у дисков —
оставлял бы две недели.
systemd-timer вместо cron, когда важен результат
У cron нет внятного ответа на вопрос «а прошлый запуск вообще удался?».
У таймера есть: systemctl status покажет код возврата последнего
запуска и весь вывод в журнале, без возни с перенаправлением в файл.
Плюс Persistent=true — если машина спала в момент срабатывания,
задача выполнится сразу после загрузки. Для домашнего сервера, который
выключается на ночь, это решающий аргумент.
Единственное, о чём стоит помнить: у таймера и сервиса должны совпадать имена,
иначе нужен явный Unit=. Потратил на это полчаса.
Короткий TTL перед переездом
Банально, но каждый раз забываю. За сутки до смены A-записи ставлю TTL
300 секунд, после переезда возвращаю на 3600. Иначе часть резолверов
держит старый адрес до полусуток, и ты сидишь и гадаешь, почему
«у меня всё открывается, а у них нет».
dig +short A example.org @1.1.1.1
dig +short A example.org @8.8.8.8
Проверять обязательно с двух разных публичных резолверов — они обновляются
вразнобой.
Swap на 2 гигабайта спасает сборку
На виртуалке с двумя гигабайтами памяти любая сборка из исходников рискует
поймать OOM в самый неудобный момент. Файл подкачки почти не используется в
обычной работе, но именно он даёт компилятору дожить до конца.