forked from calr0x/OT-Smoothbrain-Backup
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrestic-docker-backup.sh
executable file
·66 lines (52 loc) · 1.74 KB
/
restic-docker-backup.sh
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/bash
source "/root/OT-Settings/config.sh"
STATUS=$?
N1=$'\n'
if [ -d "/root/backup" ]; then
echo "Deleting existing backup folder"
rm -rf /root/backup
fi
echo "Linking container backup folder to /root/backup"
ln -sf "$(docker inspect --format='{{.GraphDriver.Data.MergedDir}}' otnode)/ot-node/backup" /root/backup
if [ $? -eq 1 ]; then
/root/OT-Settings/data/send.sh "Linking container backup folder command FAILED"
exit 1
fi
echo "Deleting any exiting backups inside container"
rm -rf /root/backup/*
echo "Backing up OT Node data"
docker exec otnode node scripts/backup.js --config=/ot-node/.origintrail_noderc --configDir=/ot-node/data --backupDirectory=/ot-node/backup 2>&1
if [ $? -eq 1 ]; then
/root/OT-Settings/data/send.sh "OT docker backup command FAILED"
exit 1
fi
echo "Moving data out of dated folder into backup"
mv -v /root/backup/202*/* /root/backup/ 2>&1
if [ $? -eq 1 ]; then
/root/OT-Settings/data/send.sh "Moving data command FAILED"
exit 1
fi
echo "Moving hidden data out of dated folder into backup"
mv -v /root/backup/*/.origintrail_noderc /root/backup/ 2>&1
if [ $? -eq 1 ]; then
/root/OT-Settings/data/send.sh "Moving hidden data command FAILED"
exit 1
fi
echo "Deleting dated folder"
rm -rf /root/backup/202* 2>&1
if [ $? -eq 1 ]; then
/root/OT-Settings/data/send.sh "Deleting data folder command FAILED"
exit 1
fi
echo "Uploading data to Amazon S3"
OUTPUT=$(/root/OT-Smoothbrain-Backup/restic backup /root/backup/.origintrail_noderc /root/backup/* 2>&1)
RESTIC_SUCCESS=$?
echo $OUTPUT
if [ $RESTIC_SUCCESS -eq 0 ]; then
/root/OT-Settings/data/send.sh "Backup SUCCESSFUL:${N1}$OUTPUT"
rm -rf /root/backup
else
/root/OT-Settings/data/send.sh "Uploading backup to S3 FAILED:${N1}$OUTPUT"
exit 1
fi
exit 0