Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # --host=localhost
- # --user=*
- # --database=*
- # --password=*
- # --non-interactive
- # --use-ignore
- DB_HOST="localhost"
- DB_USER=""
- DB_NAME=""
- DB_PASS=""
- IGNORE=""
- _INTERACTIVE=true
- _USE_IGNORE=false
- # Parse arguments
- ########################################################################
- for i in "$@"
- do
- case $i in
- --host=*)
- DB_HOST="${i#*=}"
- shift
- ;;
- --user=*)
- DB_USER="${i#*=}"
- shift
- ;;
- --database=*)
- DB_NAME="${i#*=}"
- shift
- ;;
- --password=*)
- DB_PASS="${i#*=}"
- shift
- ;;
- --non-interactive)
- _INTERACTIVE=false
- shift
- ;;
- --use-ignore)
- _USE_IGNORE=true
- shift
- ;;
- *)
- ;;
- esac
- done
- if [ -z $DB_USER ];
- then
- if [ "$_INTERACTIVE" = true ];
- then
- read -p "Enter user name: " DB_USER
- else
- echo "Please pass --user argument"
- exit 1
- fi
- fi
- if [ -z $DB_NAME ]; then
- if [ "$_INTERACTIVE" = true ];
- then
- read -p "Enter database name: " DB_NAME
- else
- echo "Please pass --database argument"
- exit 1
- fi
- fi
- if [ "$_INTERACTIVE" = true ];
- then
- read -s -p "Enter database password:" DB_PASS
- printf "\n"
- else
- if [ -z $DB_PASS ]; then
- echo "Please pass --password argument"
- exit 1
- fi
- fi
- ########################################################################
- # prepare ignore tables
- ########################################################################
- if [ "$_USE_IGNORE" = true ];
- then
- IGNORE_TABLES="log_visitor log_visitor_info log_visitor_online"
- # IGNORE_TABLES=$IGNORE_TABLES" sales_flat_quote sales_flat_quote_address sales_flat_quote_address_item sales_flat_quote_item sales_flat_quote_item_option sales_flat_quote_payment sales_flat_quote_shipping_rate"
- # IGNORE_TABLES=$IGNORE_TABLES" sales_flat_order sales_flat_order_address sales_flat_order_grid sales_flat_order_item sales_flat_order_payment sales_flat_order_status_history"
- # IGNORE_TABLES=$IGNORE_TABLES" sales_flat_invoice sales_flat_invoice_comment sales_flat_invoice_grid sales_flat_invoice_item"
- # IGNORE_TABLES=$IGNORE_TABLES" sales_flat_shipment sales_flat_shipment_comment sales_flat_shipment_grid sales_flat_shipment_item sales_flat_shipment_track"
- # IGNORE_TABLES=$IGNORE_TABLES" sales_flat_creditmemo sales_flat_creditmemo_comment sales_flat_creditmemo_grid sales_flat_creditmemo_item"
- for table in $IGNORE_TABLES
- do
- IGNORE=$IGNORE" --ignore-table="$DB_NAME"."$table
- done
- fi
- ########################################################################
- mysqldump -h$DB_HOST -u$DB_USER -p$DB_PASS --no-data $DB_NAME | gzip > dump_structure.sql.gz
- mysqldump -h$DB_HOST -u$DB_USER -p$DB_PASS --no-create-info --skip-lock-tables $IGNORE $DB_NAME | gzip > dump_data.sql.gz
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement