#!/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"