Маленький bash-скрипт, который я написал для своего форума, чтобы получить разовый обзор состояния сервера Discourse. Делюсь им с теми, кому может пригодиться такой быстрый обзор.
Проверяет системные ресурсы: Docker, службы Discourse (Postgres, Redis, Nginx, Unicorn, Sidekiq), актуальность резервных копий, TLS и базовые параметры безопасности. Завершается сводкой с оценкой «пройдено / предупреждение / критично» и кодом выхода, подходящим для cron.
Для резервного копирования рекомендую проверить последнюю резервную копию, чтобы убедиться, что она была прочитана после создания. Это косвенный способ проверить, была ли она скопирована за пределы сайта. (Или, если не проверять только последнюю, возможно, стоит проверить все.)
Если ни одна резервная копия не была скопирована за пределы сайта в течение недели, это повод для предупреждения.
(Думаю, можно вычесть stat -c %Y из stat -c %X или просто сравнить их. Они будут отличаться, если файл резервной копии был прочитан после создания.)
@Ed_S Отличное предложение. Добавлено в версии 1.0.2. Сравнивает atime и mtime в последней резервной копии и выводит предупреждение, если файл не читался с момента записи, при этом проверка noatime позволяет корректно пропускать случаи, когда atime ненадёжен. Указал вас как автора, спасибо!