Jcrespo has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/371944 )

Change subject: [WIP]mariadb: First attempt at a mydumper-based dump script
......................................................................

[WIP]mariadb: First attempt at a mydumper-based dump script

Bug: T169516
Change-Id: I995cc704b5368df5a92a4763fcbde8e171e3d705
---
A modules/role/files/mariadb/dump_shards.sh
1 file changed, 31 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/44/371944/1

diff --git a/modules/role/files/mariadb/dump_shards.sh 
b/modules/role/files/mariadb/dump_shards.sh
new file mode 100644
index 0000000..e996d64
--- /dev/null
+++ b/modules/role/files/mariadb/dump_shards.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+numthreads=16
+backupdir=backups
+shards="s1 s4 s5 s2 s6 s7 s3 x1"
+rowsmax=100000000
+
+[ -z "$backupdir" ] && { echo "backupdir variable is empty"; exit 1 }
+[ "$backupdir" == "/" ] && { echo "backupdir variable cannot be the root 
directory"; exit 1 }
+[[ "$HOST" =~ ^sqldata.* ]] && { echo "backupdir variable cannot start with 
sqldata"; exit 1 }
+
+mkdir -p "/srv/$backupdir"
+chmod go-rwx "/srv/$backupdir"
+
+find "/srv/$backupdir" -mtime +14 -type f -delete
+find "/srv/$backupdir" -mtime +14 -type d -exec rmdir \{\} \;
+
+# stopping all replication activity to save iops
+for stop_shard in $shards; do 
+    /usr/local/bin/mysql --socket="/run/mysqld/mysqld.$stop_shard.sock" -e 
"STOP SLAVE"
+done
+
+for backup_shard in $shards; do
+
+    /usr/bin/mydumper/mydumper --compress --host=localhost 
--threads="$numthreads" --user="`whoami`" 
--socket="/run/mysqld/mysqld.$backup_shard.sock" --triggers --routines --events 
--rows="$rowsmax" --logfile="/srv/$backupdir/dump.$shard.log" 
--outputdir="/srv/$backupdir/$backup_shard.`date +%Y%m%d%H%M%S`"
+done
+
+# Restarting replication
+for start_shard in $shards; do
+    /usr/local/bin/mysql --socket="/run/mysqld/mysqld.$start_shard.sock" -e 
"START SLAVE"
+done

-- 
To view, visit https://gerrit.wikimedia.org/r/371944
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I995cc704b5368df5a92a4763fcbde8e171e3d705
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Jcrespo <jcre...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to