Skip to content

Commit 9620dbc

Browse files
committed
Prefix database dumps with the instance
1 parent 3b5edde commit 9620dbc

File tree

7 files changed

+42
-36
lines changed

7 files changed

+42
-36
lines changed

provision-contest/ansible/group_vars/admin.yml

+2
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,5 @@ PHP_FPM_MAX_CHILDREN: 5
88

99
DOMSERVER_SSL_CERT: /etc/ssl/certs/localhost.crt
1010
DOMSERVER_SSL_KEY: /etc/ssl/private/localhost.key
11+
12+
DB_DUMP_PREFIX: admin

provision-contest/ansible/group_vars/analyst/all.yml.example

+2
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,5 @@ DOMSERVER_IP: "{{SERVER_IP_PREFIX}}.240"
1010
# internet access is available and "packages" must be used as APT repo
1111
# server.
1212
WF_GREEN: true
13+
14+
DB_DUMP_PREFIX: analyst

provision-contest/ansible/group_vars/wf46/all.yml.example

+2
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@
22
# DOMSERVER_IP will be added to the judgehost /etc/hosts file.
33
DOMSERVER: https://domserver-wf46
44
DOMSERVER_IP: "{{SERVER_IP_PREFIX}}.215"
5+
6+
DB_DUMP_PREFIX: 46

provision-contest/ansible/group_vars/wf47/all.yml.example

+2
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@
22
# DOMSERVER_IP will be added to the judgehost /etc/hosts file.
33
DOMSERVER: https://domjudge-wf47
44
DOMSERVER_IP: "{{SERVER_IP_PREFIX}}.218"
5+
6+
DB_DUMP_PREFIX: 47

provision-contest/ansible/roles/mysql_server/files/dump-db

-30
This file was deleted.

provision-contest/ansible/roles/mysql_server/tasks/main.yml

+11-6
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,18 @@
6262
- db-dumps
6363
- bin
6464

65-
- name: Copy database dump/load scripts
65+
- name: Copy database load script
6666
copy:
67-
src: "{{ item }}"
68-
dest: /home/domjudge/bin/{{ item }}
67+
src: load-db
68+
dest: /home/domjudge/bin/load-db
69+
owner: domjudge
70+
group: domjudge
71+
mode: 0755
72+
73+
- name: Copy modified database dump script
74+
template:
75+
src: dump-db.j2
76+
dest: /home/domjudge/bin/dump-db
6977
owner: domjudge
7078
group: domjudge
7179
mode: 0755
72-
loop:
73-
- load-db
74-
- dump-db
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/sh
2+
3+
create_database_dump () {
4+
sudo mysqldump --opt --skip-lock-tables domjudge | pv | gzip > "/home/domjudge/db-dumps/{{ DB_DUMP_PREFIX }}-${1}.sql.gz"
5+
}
6+
7+
if [ -z "$1" ]
8+
then
9+
echo "Usage dump-db [name]"
10+
echo ".sql.gz will be appended"
11+
exit 1
12+
fi
13+
14+
if [ -f "/home/domjudge/db-dumps/{{ DB_DUMP_PREFIX }}-${1}.sql.gz" ]; then
15+
while true; do
16+
read -p "Overwrite existing database dump (y/N)? " yn
17+
case $yn in
18+
[Yy]* ) break;;
19+
''|[Nn]* ) exit 2;;
20+
esac
21+
done
22+
fi
23+
create_database_dump $1

0 commit comments

Comments
 (0)