penguin/utils

my env utils

commit 4de0812ce777764d9c65dad25fc1d5bb40075bf4

author斟酌 鵬兄 <tgckpg@gmail.com>
date2016-06-23T07:51:12Z
subjectSupport gz for mysqls
commit 4de0812ce777764d9c65dad25fc1d5bb40075bf4
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date:   2016-06-23T07:51:12Z

    Support gz for mysqls
---
 bash/bashrc/sources/30_mysql | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/bash/bashrc/sources/30_mysql b/bash/bashrc/sources/30_mysql
index 3f02cf9..cd29eef 100755
--- a/bash/bashrc/sources/30_mysql
+++ b/bash/bashrc/sources/30_mysql
@@ -1,15 +1,14 @@
 #!/bin/bash
 
 function mysqlo () {
-    if [[ -z "$1" ]]; then
+    if [ -z "$1" ]; then
         __func_head "SERVER_NAME"
         echo
     else
         PASS=$(grepmysql $1 true)
-        if [[ -z "$PASS" ]]; then
+        if [ -z "$PASS" ]; then
             echo "Server not found in config: $1"
             return 1
-
         fi
 
         PS_SQL=$(grep -i $1 ~/.mysql_pass | awk 'BEGIN{FS=":"}{ print $4 }')
@@ -26,20 +25,29 @@ function mysqlo () {
 }
 
 function mysqls () {
-    if [[ -z "$1" ]]; then
-        __func_head "SERVER_NAME DATABASE_NAME SQL_FILE"
+    if [ -z "$1" ]; then
+        __func_head "[z] SERVER_NAME DATABASE_NAME SQL_FILE"
         echo
     else
+        GZIP=false
+        if [ "$1" == "z" ]; then
+            GZIP=true
+            shift
+        fi
+
         USER=$(grep -i $1 ~/.mysql_pass | awk 'BEGIN{FS=":"}{ print $5 }')
         PASS=$(grepmysql $1 true)
 
-        if [[ -z "$PASS" ]]; then
+        if [ -z "$PASS" ]; then
             echo "Server not found in config: $1"
             return 1
+        fi
 
+        if $GZIP; then
+            gunzip -c $3 | mysql -u $USER --password=$PASS -D $2
+        else
+            mysql -u $USER --password=$PASS -D $2 < $3
         fi
 
-        mysql -u $USER --password=$PASS -D $2 < $3
     fi
 }
-