summaryrefslogtreecommitdiffstats
path: root/backup.sh
diff options
context:
space:
mode:
authorCorentin LABBE <clabbe@baylibre.com>2018-07-02 15:43:25 +0200
committerCorentin LABBE <clabbe@baylibre.com>2018-07-20 11:41:58 +0200
commitd49b99094855c8bcb91fd5ab57b20249ff7ff955 (patch)
tree2c2b60a91762dc0d2f5325119fba9eb8e87d29eb /backup.sh
parent70bffaef36b2afe7c732d6f20afca008c5ef1445 (diff)
Permit to backup/restore lavaserver database
This patch add an easy way to backup postgresql database and needed data stored in filesystem. In the mean time, a way to restore backup during start is added
Diffstat (limited to 'backup.sh')
-rwxr-xr-xbackup.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/backup.sh b/backup.sh
new file mode 100755
index 0000000..f803486
--- /dev/null
+++ b/backup.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+BACKUP_DIR="backup-$(date +%Y%m%d_%H%M)"
+
+mkdir $BACKUP_DIR
+cp boards.yaml $BACKUP_DIR
+
+DOCKERID=$(docker ps |grep master | cut -d' ' -f1)
+if [ -z "$DOCKERID" ];then
+ exit 1
+fi
+# for an unknown reason pg_dump > file doesnt work
+docker exec -ti $DOCKERID sudo -u postgres pg_dump --create --clean lavaserver --file /tmp/db_lavaserver || exit $?
+docker exec -ti $DOCKERID gzip /tmp/db_lavaserver || exit $?
+docker cp $DOCKERID:/tmp/db_lavaserver.gz $BACKUP_DIR/ || exit $?
+docker exec -ti $DOCKERID rm /tmp/db_lavaserver.gz || exit $?
+
+docker exec -ti $DOCKERID tar czf /root/joboutput.tar.gz /var/lib/lava-server/default/media/job-output/ || exit $?
+docker cp $DOCKERID:/root/joboutput.tar.gz $BACKUP_DIR/ || exit $?
+docker exec -ti $DOCKERID rm /root/joboutput.tar.gz || exit $?
+
+echo "Backup done in $BACKUP_DIR"