summaryrefslogtreecommitdiff
path: root/tools/clickhouse-backup.sh
blob: 6e938e4e2bfa45d31a0e2afc55c4f0f9777c13a1 (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
25
26
27
28
29
30
31
#!/bin/bash

DIR=/var/lib/clickhouse/backup
MAX_COUNT=3
NAME=backup_$(date -u +%Y-%m-%d)

create() {
	local name="$1"
	clickhouse-backup create "$name"
}

del() {
	local name="$1"
	clickhouse-backup delete local "$name"
}

# create a backup
create "$NAME"

# compress backup
cd "$DIR"
tar czvf $NAME.tar.gz $NAME

# delete uncompressed files
del "$NAME"

# delete old backups
for file in $(ls -t "${DIR}" | tail -n +$(( MAX_COUNT+1 ))); do
	echo "removing $file..."
	rm "$file"
done