summaryrefslogtreecommitdiff
path: root/backup.sh
blob: 6e54e8e6ebfbb80b286eefe9611f6a16a714dfed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
set -e

[ $# -ne 3 ] && echo "Usage: $0 <dir-to-backup> <tarfile-name> <user@host:/remote/dir>" && exit 1

SRC="$1"
NAME="$2"
DEST="$3"

[ ! -d "$SRC" ] && echo "Error: '$SRC' is not a directory" && exit 1

TARFILE="$(pwd)/${NAME}.tar.gz"

echo "Compressing $SRC → $TARFILE"
tar -czf "$TARFILE" -C "$(dirname "$SRC")" "$(basename "$SRC")"

SIZE=$(du -h "$TARFILE" | cut -f1)
echo "Size: $SIZE"

echo "Sending to $DEST"
rsync -avP "$TARFILE" "$DEST/"

rm -f "$TARFILE"
echo "Done"