Skip to content

Commit 5d268c2

Browse files
Add scripts to dump and load database to mysql server role.
1 parent 0d1a7f1 commit 5d268c2

File tree

3 files changed

+50
-0
lines changed

3 files changed

+50
-0
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/sh
2+
3+
if [ -z "$1" ]
4+
then
5+
echo "Usage dump-db [name]"
6+
echo ".sql.gz will be appended"
7+
exit 1
8+
fi
9+
10+
sudo mysqldump --opt --skip-lock-tables domjudge | pv | gzip > "/home/domjudge/db-dumps/${1}.sql.gz"
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/sh
2+
3+
if [ -z "$1" ]
4+
then
5+
echo "Usage load-db [name]"
6+
echo ".sql.gz will be appended"
7+
exit 1
8+
fi
9+
10+
FILE="/home/domjudge/db-dumps/${1}.sql.gz"
11+
12+
if [ ! -f "${FILE}" ]
13+
then
14+
echo "Error. File ${FILE} not found"
15+
exit 1
16+
fi
17+
18+
pv "${FILE}" | gunzip | sudo mysql domjudge

icpc-wf/ansible/roles/mysql_server/tasks/main.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,25 @@
2525

2626
- name: make sure mysql is restarted
2727
meta: flush_handlers
28+
29+
- name: create directory to store scripts & database dumps
30+
file:
31+
path: /home/domjudge/{{ item }}
32+
owner: domjudge
33+
group: domjudge
34+
state: directory
35+
mode: 0755
36+
loop:
37+
- db-dumps
38+
- bin
39+
40+
- name: copy database dump/load scripts
41+
copy:
42+
src: "{{ item }}"
43+
dest: /home/domjudge/bin/{{ item }}
44+
owner: domjudge
45+
group: domjudge
46+
mode: 0755
47+
loop:
48+
- load-db
49+
- dump-db

0 commit comments

Comments
 (0)