Skip to content

Instantly share code, notes, and snippets.

@shoaibi
Created June 25, 2015 16:27
Show Gist options
  • Save shoaibi/4d8638dbdc42007dcbba to your computer and use it in GitHub Desktop.
Save shoaibi/4d8638dbdc42007dcbba to your computer and use it in GitHub Desktop.
Archive a table from source to target
#!/bin/bash
TABLENAME=$1
DISABLE_CHARSETCHECK=$2
DRY_RUN=1
PROGRESS=100
RETRIES=3
RUN_TIME='5m' # could be 45m
TRANSACTION_SIZE=1000
SOURCE_DB_HOST='localhost'
SOURCE_DB_NAME='source_db'
SOURCE_DB_USER='source_user'
SOURCE_DB_PASSWORD='source_password'
DEST_DB_HOST='target_db_host'
DEST_DB_NAME='target_db_name'
DEST_DB_USER='target_db_user'
DEST_DB_PASSWORD='target_db_user'
WHERE_CLAUSE='created_at < NOW()'
NOHUP='nohup'
# path to the mattkit archiver
ARCHIVER='/root/script/mk-archiver'
ADDITIONAL_SWICTES=" --statistics --why-quit --skip-foreign-key-checks "
if [ "$DRY_RUN" -eq 1 ]; then
ADDITIONAL_SWICTES="$ADDITIONAL_SWICTES --dry-run "
fi
if [ "$DISABLE_CHARSETCHECK" -eq 1 ]; then
ADDITIONAL_SWICTES="$ADDITIONAL_SWICTES --no-check-charset "
fi
$ARCHIVER $ADDITIONAL_SWICTES --progress $PROGRESS --retries $RETRIES --txn-size $TRANSACTION_SIZE --run-time $RUN_TIME --source h="$SOURCE_DB_HOST",D="$SOURCE_DB_NAME",t="$TABLENAME",u="$SOURCE_DB_USER",p="$SOURCE_DB_PASSWORD" --dest h="$DEST_DB_HOST",D="$DEST_DB_NAME",t="$TABLENAME",u="$DEST_DB_USER",p="$DEST_DB_PASSWORD" --where "$WHERE_CLAUSE"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment