Делаем безопасный backup конфига перед изменением!
Перед правкой nginx, systemd unit, docker-compose.yml или любого важного конфига полезно сначала сохранить копию. Это занимает секунды, но сильно упрощает откат.
Зададим путь к файлу:
file="/etc/nginx/nginx.conf"
Добавим timestamp:
stamp="$(date +%Y%m%d-%H%M%S)"
Соберём имя backup-файла:
backup="${file}.${stamp}.bak"
Перед копированием проверим, что файл существует:
test -f "$file" || {
echo "Файл не найден: $file"
exit 1
}
Теперь создаём копию с сохранением прав и владельца:
sudo cp -a "$file" "$backup"
После этого можно редактировать конфиг:
sudo nano "$file"
Если это nginx, сначала проверяем конфигурацию:
sudo nginx -t
И только потом перезагружаем сервис:
sudo systemctl reload nginx
Если что-то пошло не так, откат простой:
sudo cp -a "$backup" "$file"
sudo systemctl reload nginx
Для удобства можно посмотреть последнюю копию:
ls -lt /etc/nginx/nginx.conf.*.bak | head
Backup перед изменением конфига это маленькая привычка, которая часто экономит часы восстановления после неудачной правки.
➡️ DevOps Ready | #практика
Перед правкой nginx, systemd unit, docker-compose.yml или любого важного конфига полезно сначала сохранить копию. Это занимает секунды, но сильно упрощает откат.
Зададим путь к файлу:
file="/etc/nginx/nginx.conf"
Добавим timestamp:
stamp="$(date +%Y%m%d-%H%M%S)"
Соберём имя backup-файла:
backup="${file}.${stamp}.bak"
Перед копированием проверим, что файл существует:
test -f "$file" || {
echo "Файл не найден: $file"
exit 1
}
Теперь создаём копию с сохранением прав и владельца:
sudo cp -a "$file" "$backup"
После этого можно редактировать конфиг:
sudo nano "$file"
Если это nginx, сначала проверяем конфигурацию:
sudo nginx -t
И только потом перезагружаем сервис:
sudo systemctl reload nginx
Если что-то пошло не так, откат простой:
sudo cp -a "$backup" "$file"
sudo systemctl reload nginx
Для удобства можно посмотреть последнюю копию:
ls -lt /etc/nginx/nginx.conf.*.bak | head
Backup перед изменением конфига это маленькая привычка, которая часто экономит часы восстановления после неудачной правки.
➡️ DevOps Ready | #практика