lecoffre-back-mini/scripts/backup_nginx_confs.sh

27 lines
728 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
timestamp="$(date +%Y%m%d-%H%M%S)"
dest_dir="backups/nginx/${timestamp}"
mkdir -p "${dest_dir}"
# Project nginx confs
proj_src="confs/nginx"
if [ -d "$proj_src" ]; then
rsync -a --delete "$proj_src/" "${dest_dir}/project/"
fi
# Local nginx common paths
declare -a local_paths=(/etc/nginx /usr/local/etc/nginx "$HOME/.config/nginx" ./conf/ngnix)
for p in "${local_paths[@]}"; do
if [ -d "$p" ]; then
safe_name="$(echo "$p" | sed "s|/|_|g;s|^_||")"
rsync -a "$p/" "${dest_dir}/local_${safe_name}/" || true
fi
done
# Create compressed archives for convenience
tar -C "${dest_dir}" -czf "${dest_dir}.tar.gz" .
echo "Saved nginx backups to ${dest_dir} and ${dest_dir}.tar.gz"