Initial Commit
Created Repo with Scripts to get VPG ID and to take mysql zerto checkpoints
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
##############################################################################
|
||||
# ZertoMySQLCheckpoint.sh
|
||||
#
|
||||
# Created by Justin Paul, Tech Alliances Architect, Zerto
|
||||
# Contact at jp@zerto.com or on Twitter at @recklessop
|
||||
#
|
||||
# This script does the following:
|
||||
# 1.) Lock all MySQL tables and flush data to disk.
|
||||
# 2.) Call Zerto REST API and insert a User defined Checkpoint
|
||||
# 3.) Unlock the MySQL tables and resume normal operations
|
||||
#
|
||||
# You must provide the VPGID for the VPG that needs the checkpoint inserted.
|
||||
# To get this information
|
||||
##############################################################################
|
||||
|
||||
##### Variables Replace with your information #####
|
||||
ZVMIP="172.16.1.20"
|
||||
ZVMPORT="9669"
|
||||
ZVMUSER="administrator@vsphere.local"
|
||||
ZVMPWD="mypassword"
|
||||
VPGID="97b4b6be-5447-491b-bd10-be3600c91ff0"
|
||||
MYSQLUSER="adminuser"
|
||||
MYSQLPASSWORD="adminpassword"
|
||||
|
||||
##### Write Date Time to Log file #####
|
||||
|
||||
##### Login to Zerto REST API #####
|
||||
curl -k -D responseHeader -H "Content-Type: application/json" -H "Accept: application/json" --user $ZVMUSER:$ZVMPWD https://${ZVMIP}:${ZVMPORT}/v1/session/add -d "{\"AuthenticationMethod\":0}"
|
||||
COOKIE=`cat responseHeader | grep x-zerto-session`
|
||||
SESSION=$(echo "$COOKIE"|tr -d '\r')
|
||||
echo "---------------------------------" >> ZertoCheckpointInsert.log
|
||||
echo $SESSION >> ZertoCheckpointInsert.log
|
||||
echo "---------------------------------" >> ZertoCheckpointInsert.log
|
||||
|
||||
##### Lock and Flush MySQL Databases #####
|
||||
outputLock=$(mysql --user="${MYSQLUSER}" --password="${MYSQLPASSWORD}" --execute=' flush tables with read lock;' 2>&1)
|
||||
echo $outputLock >> ZertoCheckpointInsert.log
|
||||
|
||||
##### Insert Zerto User Checkpoint #####
|
||||
INSERTOUTPUT=$(curl -k -H "${SESSION}" -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d '{"checkpointName":"MySQL Quiesced Checkpoint"}' https://${ZVMIP}:${ZVMPORT}/v1/vpgs/"${VPGID}"/Checkpoints)
|
||||
echo $responseHeader >> ZertoCheckpointInsert.log
|
||||
|
||||
##### Lock and Flush MySQL Databases #####
|
||||
outputUnlock=$(mysql --user="${MYSQLUSER}" --password="${MYSQLPASSWORD}" --execute=' unlock tables;' 2>&1)
|
||||
echo $outputUnlock >> ZertoCheckpointInsert.log
|
||||
|
||||
Reference in New Issue
Block a user