|
|
|
|
|
|
|
|
|
|
|
|
|
|
Export() |
|
|
Export() |
|
|
{ |
|
|
{ |
|
|
docker exec -it $CONTAINER mariadb-dump --single-transaction -u $USERNAME -p$PASSWORD $DATABASE > $EXPORT_DIRECTORY/$EXPORT_SQL_FILENAME`date +"%Y%m%d"`.sql |
|
|
|
|
|
|
|
|
docker exec -it $DATABASE_CONTAINER mariadb-dump --single-transaction -u $DATABASE_USERNAME -p$DATABASE_PASSWORD $MYSQL_DATABASE > $EXPORT_DIRECTORY/$EXPORT_SQL_FILENAME`date +"%Y%m%d"`.sql |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Import() |
|
|
Import() |
|
|
{ |
|
|
{ |
|
|
docker exec -i $CONTAINER mariadb -u $USERNAME -p$PASSWORD $DATABASE < $IMPORT_SQL_FILE |
|
|
|
|
|
|
|
|
docker exec -i $DATABASE_CONTAINER mariadb -u $DATABASE_USERNAME -p$DATABASE_PASSWORD $MYSQL_DATABASE < $IMPORT_SQL_FILE |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Table_export() |
|
|
Table_export() |
|
|
{ |
|
|
{ |
|
|
docker exec -it $CONTAINER bash -c "mariadb -u $USERNAME -p$PASSWORD $DATABASE --batch -e 'SELECT * FROM $TABLE'" > $EXPORT_TXT_DIRECTORY/$EXPORT_TXT_FILENAME.txt |
|
|
|
|
|
|
|
|
docker exec -it $DATABASE_CONTAINER bash -c "mariadb -u $DATABASE_USERNAME -p$DATABASE_PASSWORD $MYSQL_DATABASE --batch -e 'SELECT * FROM $TABLE'" > $EXPORT_TXT_DIRECTORY/$EXPORT_TXT_FILENAME.txt |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Table_import() |
|
|
Table_import() |
|
|
{ |
|
|
{ |
|
|
docker cp $IMPORT_TXT_FILE $CONTAINER:/tmp/import_file |
|
|
|
|
|
|
|
|
docker cp $IMPORT_TXT_FILE $DATABASE_CONTAINER:/tmp/import_file |
|
|
|
|
|
|
|
|
docker exec -i $CONTAINER bash -c "mariadb -u $USERNAME -p$PASSWORD $DATABASE -e 'LOAD DATA LOCAL INFILE '\''/tmp/import_file'\'' REPLACE INTO TABLE $TABLE FIELDS TERMINATED BY '\''\t'\'' LINES TERMINATED BY '\''\r'\'' IGNORE 1 ROWS;'" |
|
|
|
|
|
|
|
|
docker exec -i $DATABASE_CONTAINER bash -c "mariadb -u $DATABASE_USERNAME -p$DATABASE_PASSWORD $MYSQL_DATABASE -e 'LOAD DATA LOCAL INFILE '\''/tmp/import_file'\'' REPLACE INTO TABLE $TABLE FIELDS TERMINATED BY '\''\t'\'' LINES TERMINATED BY '\''\r'\'' IGNORE 1 ROWS;'" |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Drop_table() |
|
|
Drop_table() |
|
|
{ |
|
|
{ |
|
|
docker exec -i $CONTAINER bash -c "mariadb -u $USERNAME -p$PASSWORD $DATABASE -e 'DROP TABLE IF EXISTS $TABLE;'" |
|
|
|
|
|
|
|
|
docker exec -i $DATABASE_CONTAINER bash -c "mariadb -u $DATABASE_USERNAME -p$DATABASE_PASSWORD $MYSQL_DATABASE -e 'DROP TABLE IF EXISTS $TABLE;'" |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Backup() |
|
|
Backup() |
|
|
{ |
|
|
{ |
|
|
docker exec -it $CONTAINER mariadb-dump --single-transaction -u $USERNAME -p$PASSWORD $DATABASE > $EXPORT_DIRECTORY/$BACKUP_SQL_FILENAME.sql |
|
|
|
|
|
|
|
|
docker exec -it $DATABASE_CONTAINER mariadb-dump --single-transaction -u $DATABASE_USERNAME -p$DATABASE_PASSWORD $MYSQL_DATABASE > $EXPORT_DIRECTORY/$BACKUP_SQL_FILENAME.sql |
|
|
|
|
|
|
|
|
scp $EXPORT_DIRECTORY/$BACKUP_SQL_FILENAME.sql $STORAGE_USERNAME@$STORAGE_SERVER:$STORAGE_DIRECTORY |
|
|
scp $EXPORT_DIRECTORY/$BACKUP_SQL_FILENAME.sql $STORAGE_USERNAME@$STORAGE_SERVER:$STORAGE_DIRECTORY |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
############################################################ |
|
|
############################################################ |
|
|
############################################################ |
|
|
############################################################ |
|
|
|
|
|
|
|
|
# set variables |
|
|
|
|
|
CONTAINER=mariadb |
|
|
|
|
|
DATABASE=compendium |
|
|
|
|
|
USERNAME=xxxxxxxx |
|
|
|
|
|
PASSWORD=xxxxxxxx |
|
|
|
|
|
EXPORT_DIRECTORY="./db_exports" |
|
|
|
|
|
EXPORT_SQL_FILENAME=compendium_db_ |
|
|
|
|
|
EXPORT_TXT_FILENAME=$2`date +"%Y%m%d"` |
|
|
|
|
|
BACKUP_SQL_FILENAME=compendium_backup |
|
|
|
|
|
STORAGE_USERNAME=xxxxxxxx |
|
|
|
|
|
STORAGE_SERVER=xxxxxxxx |
|
|
|
|
|
STORAGE_DIRECTORY=xxxxxxxx |
|
|
|
|
|
|
|
|
# retrieve variables from .env file (see .env.template for template) |
|
|
|
|
|
source .env.dev |
|
|
|
|
|
|
|
|
# error message for no flags |
|
|
# error message for no flags |
|
|
if (( $# == 0 )); then |
|
|
if (( $# == 0 )); then |