Я заметил, что 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 секунду, если он умирает.
Простейшим решением было бы просто объединить два файла:
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