내 서버의 임의 구성 파일/디렉토리를 git 저장소로 추적하고 싶습니다. /etc를 추적한다는 뜻은 아닙니다. 다음은 몇 가지 예입니다.
/etc/named.conf
/etc/named/*
/var/named/*
/usr/local/apache/conf/*
/etc/php.ini
/etc/my.ini
/var/www/config.ini
등등...
git은 심볼릭 링크를 따르지 않기 때문에 바인드로 마운트할 수 있습니다. 예:
mount /etc/named /REPO/etc-named -obind
mount /var/named /REPO/var-named -obind
나는 이 접근법이 각 디렉토리에 대해 마운트를 수행하기 때문에 좋아하지 않지만 적어도 이것은 안전하고 올바르게 작동할 것입니다.
파일의 경우 하드 링크를 수행할 수 있지만 다음과 같은 작업을 수행하면 링크를 쉽게 "잃어버릴" 수 있기 때문에 이 아이디어가 별로 마음에 들지 않습니다.
mv /etc/named.conf /etc/named.conf.old
cp xxxxx /etc/named.conf
이 문제를 어떻게 해결할 수 있는지 제안해 주실 수 있나요?
답변1
이런 식으로 하지 마세요.
대신 구성 관리 시스템(Ansible, Saltstack 등)을 사용하세요. 유지하다저것들버전 제어에 파일을 저장하고 해당 CM을 사용하여 구성 변경 사항을 서버에 배포합니다.
이러한 방식으로 작업을 수행하면 여러 면에서 매우 유익합니다. 서버 구성의 전체 오프라인 백업이 있고 이 구성을 여러 서버 또는 테스트/개발 서버 등에 쉽게 적용할 수 있습니다.
이것이 귀하가 바라던 답변이 아닐 수도 있다는 점은 알지만, 모든 측면에서 볼 때 이는 시스템을 관리하는 전문적인 방법입니다.