summaryrefslogtreecommitdiff
path: root/backup.sh
diff options
context:
space:
mode:
authorYour Name <you@example.com>2026-02-19 23:08:55 +0800
committerYour Name <you@example.com>2026-02-19 23:08:55 +0800
commitbe5699a8da55d30fa309743a03a8aca2d1662403 (patch)
treec04fad9b35c59008e597a7249c010d9b1b9e97f5 /backup.sh
Initial commit: tar backup scriptHEADmain
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'backup.sh')
-rwxr-xr-xbackup.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/backup.sh b/backup.sh
new file mode 100755
index 0000000..6e54e8e
--- /dev/null
+++ b/backup.sh
@@ -0,0 +1,24 @@
1#!/bin/bash
2set -e
3
4[ $# -ne 3 ] && echo "Usage: $0 <dir-to-backup> <tarfile-name> <user@host:/remote/dir>" && exit 1
5
6SRC="$1"
7NAME="$2"
8DEST="$3"
9
10[ ! -d "$SRC" ] && echo "Error: '$SRC' is not a directory" && exit 1
11
12TARFILE="$(pwd)/${NAME}.tar.gz"
13
14echo "Compressing $SRC → $TARFILE"
15tar -czf "$TARFILE" -C "$(dirname "$SRC")" "$(basename "$SRC")"
16
17SIZE=$(du -h "$TARFILE" | cut -f1)
18echo "Size: $SIZE"
19
20echo "Sending to $DEST"
21rsync -avP "$TARFILE" "$DEST/"
22
23rm -f "$TARFILE"
24echo "Done"