Автоматический бекап /etc/ с помощью git

    Захотелось мне странного, автобекапа настроек в /etc/.

    Устанавливаем систему контроля версий git и incrond демона, следящего за изменениями файлов.

    # cd /etc/
    # git init
    # git add -A *
    # git commit -a -m«garden will be here»

    от рута:
    # incrontab -e
    вписываем:
    /etc IN_MODIFY,IN_CREATE /path/to/back/script/git_bak.sh

    теперь при создании или изменении файла в /etc incrond будет дергать /path/to/back/script/git_bak.sh

    Скрипт бекапа очень простой.

    $ cat git_bak.sh
    #!/bin/bash
    # Скрипт для бекапа настроек.

    cd /etc && git add *; git commit -a -m «Автокоммит `date`»

    К сожалению, incrond не отслеживает изменения в подпапках.
    Теперь нагадив в каком-нибудь конфиге, можно сделать git checkout конфиг, и все вернется на круги своя.
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 6

      0
      Коротко и понятно. Спасибо.
        +1
        интересная идея. Она работает? Просто вдруг git checkout вызовет IN_MODIFY, а тот снова коммит…

        Конечно, не проверял :)
          0
          Тогда это будет коммит уже возвращенной версии.
          0
          Я бы посоветовал взглянуть на etckeeper
            0
            Взгляну, мне больше историю изменений было интересно видеть, а руками коммитить лень.
            0
            >Захотелось мне странного, автобекапа настроек в /etc/.

            как раз ничего странного в использовании GIT для бакапа /etc нет, этот инструмент идеально подходит для данной цели…

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое