Скрипт для сравнения 2 файлов .env с последующей перезаписью значений по умолчанию одной базы на другую

Я заметил, что systemd не строго следит за временем, из-за того, что я использую такой таймер, у меня не было проблем с ним.

Description=Timer

[Service]
Type=simple
ExecStart=/bin/sh -c "while true ; do echo Timer; usleep 500000; done"
Restart=always
RestartSec=1
StartLimitInterval=0

[Install]
WantedBy=multi-user.target

По сути, это бесконечный цикл, но ради стабильности я установил его перезапуск через 1 секунду, если он умирает.

1
05.09.2019, 10:56
1 ответ

Простейшим решением было бы просто объединить два файла:

cat.env.env.overwrite >.env.new

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

А если порядок и прочие комментарии не имеют значения:

for variable in \
    $(cut -d= -f1.env.overwrite.env | sort |uniq) ; 
do 
     grep ^${variable}=.env.overwrite || \
     grep ^${variable}=.env ; 
done
3
27.01.2020, 23:30

Теги

Похожие вопросы