В частности, я хотел бы отслеживать мои grub.conf
( /boot/grub/grub.conf
) и некоторые файлы оракула (т.е. /db/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
).
Я пытался использовать ссылки; однако etckeeper / git отслеживает только то, куда указывает ссылка, а не фактическое содержимое. И я не могу создавать жесткие ссылки, так как файлы находятся на другом томе.
Я знаю, что мог бы установить другой GIT-репозиторий, но я бы предпочел иметь все это в etckeeper.
Обновить
Основываясь на ответе nealmcb, я разработал следующий скрипт:
#!/bin/sh
set -e
# Based on nealmcb's idea/script from http://serverfault.com/questions/211425/
# If you want other configuration data or files on the system also
# opportunistically tracked via etckeeper, use this script to copy them in.
# If there is a hook of some sort available related to the files
# you're mirroring, you can call etckeeper directly and track them
# proactively, rather than just opportunistically here.
MIRROR_ROOT=/etc/etckeeper.mirror.d
echo "etckeeper: mirroring outside files to $MIRROR_ROOT/:"
mirror_dir() {
LOCAL_PATH=$1
echo " $LOCAL_PATH"
mkdir -p $MIRROR_ROOT/$LOCAL_PATH
rsync -a $LOCAL_PATH/ $MIRROR_ROOT/$LOCAL_PATH
}
mirror_dir "/boot/grub"
mirror_dir "/root"
Чтобы добавить или удалить путь, вы просто добавляете или удаляете mirror_dir
вызов внизу.