diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/mariadb-push-replica.sh | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/src/mariadb-push-replica.sh b/src/mariadb-push-replica.sh index cdb7d72..5e18757 100755 --- a/src/mariadb-push-replica.sh +++ b/src/mariadb-push-replica.sh | |||
@@ -63,7 +63,7 @@ check_db() | |||
63 | { | 63 | { |
64 | show_hostnames | 64 | show_hostnames |
65 | mariadb --skip-reconnect -t <<END | 65 | mariadb --skip-reconnect -t <<END |
66 | select @@hostname, @@server_id, @@gtid_slave_pos, @@sql_log_bin; | 66 | select user(), @@hostname, @@server_id, @@gtid_slave_pos, @@sql_log_bin; |
67 | END | 67 | END |
68 | } | 68 | } |
69 | 69 | ||
@@ -129,16 +129,13 @@ restore_from_backup() | |||
129 | mariabackup_target_dir=/var/mariadb/backup | 129 | mariabackup_target_dir=/var/mariadb/backup |
130 | set -e | 130 | set -e |
131 | 131 | ||
132 | stop_database_server_and_remove_database_files | 132 | # stop_database_server_and_remove_database_files |
133 | 133 | ||
134 | marialog=$(mktemp) | ||
135 | exec >"$marialog" 2>&1 | ||
136 | set -- \ | 134 | set -- \ |
137 | -u root \ | 135 | -u root \ |
138 | --target-dir="$mariabackup_target_dir" | 136 | --target-dir="$mariabackup_target_dir" |
139 | if mariabackup --move-back "$@" | 137 | if silent_unless_error mariabackup --move-back "$@" |
140 | then | 138 | then |
141 | tail -v -n2 "$marialog" >&2 | ||
142 | # Can't believe mariabackup | 139 | # Can't believe mariabackup |
143 | # is so primitive as to | 140 | # is so primitive as to |
144 | # recommend this chown in its | 141 | # recommend this chown in its |
@@ -147,9 +144,23 @@ restore_from_backup() | |||
147 | systemctl start mariadb | 144 | systemctl start mariadb |
148 | set_server_id | 145 | set_server_id |
149 | else | 146 | else |
150 | cat "$marialog" >&2 | 147 | exit $? |
151 | fi | 148 | fi |
149 | } | ||
152 | 150 | ||
151 | silent_unless_error() | ||
152 | { | ||
153 | set -- "$(mktemp)" "$@" | ||
154 | if | ||
155 | "${@:2}" >"$1" 2>&1 | ||
156 | then | ||
157 | local r=0 | ||
158 | else | ||
159 | local r=$? | ||
160 | cat "$1" >&2 | ||
161 | fi | ||
162 | rm "$1" | ||
163 | return $r | ||
153 | } | 164 | } |
154 | 165 | ||
155 | enable_replication() | 166 | enable_replication() |
@@ -260,7 +271,7 @@ main() | |||
260 | "$replication_user" \ | 271 | "$replication_user" \ |
261 | "$replication_password" | 272 | "$replication_password" |
262 | run_replica check_db | 273 | run_replica check_db |
263 | run_primary delete_backup | 274 | : run_primary delete_backup |
264 | run_primary check_db | 275 | run_primary check_db |
265 | } | 276 | } |
266 | 277 | ||