All checks were successful
Build and Push to Registry / build-and-push (push) Successful in 51s
27 lines
728 B
Bash
Executable File
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"
|