Bootstrap

shell清空数据库表

#! /bin/bash

#数据库ip地址
host="XXXXXX"
#数据库端口
port="XXXXXX"
#数据库用户名
userName="XXXXXX"
#数据库密码
password="XXXXXX"
#数据库名
dbName="XXXXXX"
#当前路径
currPath="$PWD"
#查询并生成要清空表的命令
cmd="SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM information_schema.TABLES WHERE TABLE_SCHEMA='${dbName}'"

#删除以前清空表的命令
rm -f ${currPath}/${dbName}"_truncate.sql"
#查询最新要清空表的命令
mysql -h${host} -u${userName} -p${password} ${dbName} -P${port} -N -e "${cmd}">${currPath}/${dbName}"_truncate.sql"
#若日志路径不存在 就创建日志路径
if [ ! -d "${currPath}/logs" ]; then
  mkdir ${currPath}/logs
fi
#日志文件全路径
logPath=${currPath}"/logs/"${dbName}"_truncate_log"$(date +%Y-%m-%d-%H-%M-%S)
#清空表
mysql -h${host} -u${userName} -p${password} ${dbName} -P${port} -e "source ${currPath}/${dbName}"_truncate.sql"" -vvv|tee -a ${logPath}
echo "Clear data of ${dbName} successful"
#删除前面清空表的命令
rm -f ${currPath}/${dbName}"_truncate.sql"

;