Bash

Backup File With Timestamp

admin by @admin ADMIN
1h ago
May 31, 2026
Public
0 0 up · 0 down Sign in to vote
Keep a versioned copy of a config or log before modifying it. Avoid `cp file file.bak` which overwrites old backups; use a date-stamped name.
Bash
Raw
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
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.