# Created on savesnippets.com ยท https://savesnippets.com/mlWveqGx951kPX backup() { local f="$1" [[ -f "$f" ]] || { echo "No such file: $f" >&2; return 1; } local stamp stamp="$(date -u +%Y%m%d-%H%M%S)" local bak="${f}.${stamp}.bak" cp -p "$f" "$bak" # -p preserves mode/timestamps echo "Backed up to: $bak" } backup /etc/nginx/nginx.conf # /etc/nginx/nginx.conf.20250312-141500.bak