sh shell

1
2
3
4
5
6
7
8
9
# 判断字符串空
a=`systemctl |grep xxxx`
if  [[ -z ${a}  ]];then
 
  tar -zxvf xxx.tar.gz -C $path
  unzip web.zip -d $path
  
  rm -rf $path
fi
1
2
3
4
# 判断文件夹存在
if [[ ! -d "${TEMP_LOH_WEB_PATH}" ]]; then
  	mkdir -p ${TEMP_LOH_WEB_PATH}
fi
1
grep xxxxx /etc/hosts | awk '{print $1}'
1
2
3
4
5
6
7
8
9
 # up.sql file name _ split sort by 1
 # 排序 1579253832_support_ipv6.up.sql 
 # -n 以数值来排序10大于2   -t 分隔符 -k 取1列 -r 降序 默认升序

 fileTar=`ls -1 ${MYSQL_DB_PATH}/*up.sql | sort -t '_' -n -k 1`
 for sqlName in ${fileTar}; do
   echo "mysql import ${sqlName}"
   mysql -u root -pxxx loh < ${sqlName}
 done
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# error retry
retries=3
wait_retry=0.5

function retry() {
  command=$1
  arg=$2
  for i in $(seq 1 "$retries"); do
    #echo "$*"
    if [ -z "$arg" ]; then
      $command
    else
      $command"$arg"
    fi
    ret_value=$?
    [ $ret_value -eq 0 ] && break
    echo "$command failed with $ret_value, waiting $wait_retry to retry $i"
    sleep $wait_retry
  done

  if [ $i -eq $retries ]; then
    echo "$* run failed"
  fi
}

retry "systemctl stop xxxx"
retry "mysql -uroot -pxxxx -e" "DROP DATABASE loh"