Advertisement
Guest User

Untitled

a guest
Aug 17th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.73 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # --host=localhost
  4. # --user=*
  5. # --database=*
  6. # --password=*
  7. # --non-interactive
  8. # --use-ignore
  9.  
  10. DB_HOST="localhost"
  11. DB_USER=""
  12. DB_NAME=""
  13. DB_PASS=""
  14.  
  15. IGNORE=""
  16.  
  17. _INTERACTIVE=true
  18. _USE_IGNORE=false
  19.  
  20. # Parse arguments
  21. ########################################################################
  22. for i in "$@"
  23. do
  24. case $i in
  25. --host=*)
  26. DB_HOST="${i#*=}"
  27. shift
  28. ;;
  29. --user=*)
  30. DB_USER="${i#*=}"
  31. shift
  32. ;;
  33. --database=*)
  34. DB_NAME="${i#*=}"
  35. shift
  36. ;;
  37. --password=*)
  38. DB_PASS="${i#*=}"
  39. shift
  40. ;;
  41. --non-interactive)
  42. _INTERACTIVE=false
  43. shift
  44. ;;
  45. --use-ignore)
  46. _USE_IGNORE=true
  47. shift
  48. ;;
  49. *)
  50. ;;
  51. esac
  52. done
  53.  
  54. if [ -z $DB_USER ];
  55. then
  56. if [ "$_INTERACTIVE" = true ];
  57. then
  58. read -p "Enter user name: " DB_USER
  59. else
  60. echo "Please pass --user argument"
  61. exit 1
  62. fi
  63. fi
  64.  
  65. if [ -z $DB_NAME ]; then
  66. if [ "$_INTERACTIVE" = true ];
  67. then
  68. read -p "Enter database name: " DB_NAME
  69. else
  70. echo "Please pass --database argument"
  71. exit 1
  72. fi
  73. fi
  74.  
  75. if [ "$_INTERACTIVE" = true ];
  76. then
  77. read -s -p "Enter database password:" DB_PASS
  78. printf "\n"
  79. else
  80. if [ -z $DB_PASS ]; then
  81. echo "Please pass --password argument"
  82. exit 1
  83. fi
  84. fi
  85. ########################################################################
  86.  
  87.  
  88. # prepare ignore tables
  89. ########################################################################
  90. if [ "$_USE_IGNORE" = true ];
  91. then
  92. IGNORE_TABLES="log_visitor log_visitor_info log_visitor_online"
  93. # 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"
  94. # 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"
  95. # IGNORE_TABLES=$IGNORE_TABLES" sales_flat_invoice sales_flat_invoice_comment sales_flat_invoice_grid sales_flat_invoice_item"
  96. # IGNORE_TABLES=$IGNORE_TABLES" sales_flat_shipment sales_flat_shipment_comment sales_flat_shipment_grid sales_flat_shipment_item sales_flat_shipment_track"
  97. # IGNORE_TABLES=$IGNORE_TABLES" sales_flat_creditmemo sales_flat_creditmemo_comment sales_flat_creditmemo_grid sales_flat_creditmemo_item"
  98. for table in $IGNORE_TABLES
  99. do
  100. IGNORE=$IGNORE" --ignore-table="$DB_NAME"."$table
  101. done
  102. fi
  103. ########################################################################
  104.  
  105.  
  106. mysqldump -h$DB_HOST -u$DB_USER -p$DB_PASS --no-data $DB_NAME | gzip > dump_structure.sql.gz
  107. 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