Так вот что я всегда при настройке новой машины Linux, будь то настольный компьютер или сервер: Как я могу вести воспроизводимый журнал задач администрирования, которые я выполнял на машине, чтобы в случае сбоя я мог быстро вернуться к идентичной работающей системе?
Я знаю, что существует множество инструментов управления конфигурацией, таких как Ansible, bcfg2, Puppet и другие, но мне кажется, что накладные расходы на описание целевого состояния на одном из их языков конфигурации слишком высоки для одного сервера, особенно если он это всего лишь моя личная машина, на которой нет критически важных или приносящих доход услуг. Кроме того, я не нашел хорошего способа описания действия типа «раскомментировать эту строку, но сохранить предыдущую строку для справки» ни в Ansible, ни в bcfg2 без копирования всего файла в мое управление конфигурацией.
Мое текущее решение - хранить файл «adminlog.txt» на каждой машине и писать в нем то, что я делал, на естественном языке. На данный момент мне никогда не приходилось возвращаться к этому файлу и воспроизводить все, что там есть, но я уверен, что как только я должен это сделать, все ссылки в строках, такие как «настроить Dovecot согласно <ссылка>"будут мертвыми или описывать устаревшие версии.
В комментарии к другому вопросу я нашел ссылку на план который обещает что-то вроде «зафиксировать текущее состояние вашего сервера и сохранить его как файл bash / Puppet / chef / CFEngine». На самом деле это звучит именно то, что я ищу, но затем разработка, похоже, остановилась и, похоже, работает только с дистрибутивами Debian или RPM.
Я был бы счастлив узнать, как другие люди отслеживают свои административные задачи, в частности, когда несколько человек делают что-то на одном сервере; В конце концов, это кажется не таким уж экзотическим требованием.
Это, конечно, не так привлекательно, как настройка управления конфигурацией. Но для одного персонального сервера почему бы просто не использовать традиционную утилиту резервного копирования?