С этой вашей дурацкой работой уже давно никого и ничего не еbashил. Ручки стали забывать как это делается. Сегодня вот решил наверстать упущенное и написать небольшой скриптик для сохранения особо ценных конфигов.
Раньше я делал сильно проще. Брал, и делал "svn checkout" прямо в папку "/etc". Но во-первых, нонче повально все перешли на энтот бусурманский GIT. Во-вторых, не везде разрешают отключать SELinux, а с оным "svn update" делать всё равно не получается.
С GIT-ом же засада заключается в том, что там сущность "проект" нельзя раскидать по нескольким разным папкам. Можно, конечно, делать разные branch-и, но это "не то". Поэтому я решил заколхозить скриптик, который будет сначала собирать все особо ценные конфиги в одну некую заранее заданную папочку, а потом безжалостно commit-ить их оттудова и push-ить. Вот что получилось.
#!/bin/bash
SOURCE="/etc/haproxy /etc/nginx /etc/dehydrated"
EXCLUDE="account_key.pem privkey*"
MESSAGE="Regular configs backup"
[ "$(/bin/id -u)" -eq 0 ] && {
echo "Please run this script as $(/bin/logname)"
exit 1
}
COLLECTOR="/opt/git/configs"
RSYNC="/bin/rsync"
GIT="/bin/git"
EXCLUDECMD="--exclude='"$(echo "$EXCLUDE" | /bin/sed -e "s/\([^\\]\) /\1' --exclude='/g")"' --exclude='*.md'" #'
eval /bin/sudo $RSYNC -aR --cvs-exclude --delete --inplace $EXCLUDECMD $SOURCE $COLLECTOR
/bin/sudo /bin/chown -R $(/bin/logname) "$COLLECTOR"
cd "$COLLECTOR"
$GIT add -A
$GIT commit -am "$MESSAGE"
$GIT push -u origin master
Собственно, заряжайте ваши говномёты. Я жы ж знаю, что тут обязательно моё творчество раскритикуют. Начиная от того, что использовать eval небезопасно, заканчивая тем, что "нафиг тебе это вообще надо".
А как вы бэкапите ваши конфиги и историю их изменения?
Ну и попутно второй вопрос. Допустим, у вас есть N веб-серверов, которые по сценарию используют один и тот wildcard-сертификат от Lets Encrypt. Как вы его синхронизируете / разливаете по всем заинтересованным фронтендам после перегенерации? Тупо хуком для certbot / dehydrated по SSH / SCP / SFTP или применяете какие-нибудь более хитрозадые технологии?
Во, ещё вспомнил. Какой ACME-клиент нонче наиболее стильный, модный, молодежный? Я по инерции пользую dehydrated, но может уже что-нибудь более клёвое появилось?
P.S. Знакомые в Нахабино ищут тракториста на постоянную работу. Зряплата 35 килорублей на руки. Кто-нибудь желает?