从mysqldump文件中提取某一天某一表格的sql语句
来源:互联网 发布:竹子家具的优缺点 知乎 编辑:程序博客网 时间:2024/06/06 16:38
#!/bin/sh
#################################################################
#输入需要备份的服务器
fwq="MT2TV_2021 MT2TV_2023 MT2TV_2028 MT2TV_2029 MT2TV_2030"
#输入需要备份的日期
date=20161020
#输入需要备份的表
table=title
###############################################################
for i in $fwq
do
cd ./$i
id=$(ls *$date*.tgz|cut -d'_' -f2-4|cut -d'.' -f1)
ff=data_"$id".sql
[ -f "$ff" ] || tar -zxvf *$date*.tgz
file=`ls data_*$date*.sql`
m=$(cat $file |grep -nE "Table structure for table \`title\`"|cut -d':' -f1)
n=$[$(cat data_20*_20161020_*.sql |grep -nE "ALTER TABLE \`title\` ENABLE KEYS"|cut -d':' -f1)+3]
echo "m=$m,n=$n"
o=`echo $file |cut -d'_' -f2`
echo "o=$o"
outfile=title_"$o"_"$date".sql
echo "outfile=$outfile"
[ -f "$outfile" ] || rm -f ./$outfile
sed -n "$m,${n}p" $file>$outfile
echo "$i 执行完成"
cd ..
#################################################################
#输入需要备份的服务器
fwq="MT2TV_2021 MT2TV_2023 MT2TV_2028 MT2TV_2029 MT2TV_2030"
#输入需要备份的日期
date=20161020
#输入需要备份的表
table=title
###############################################################
for i in $fwq
do
cd ./$i
id=$(ls *$date*.tgz|cut -d'_' -f2-4|cut -d'.' -f1)
ff=data_"$id".sql
[ -f "$ff" ] || tar -zxvf *$date*.tgz
file=`ls data_*$date*.sql`
m=$(cat $file |grep -nE "Table structure for table \`title\`"|cut -d':' -f1)
n=$[$(cat data_20*_20161020_*.sql |grep -nE "ALTER TABLE \`title\` ENABLE KEYS"|cut -d':' -f1)+3]
echo "m=$m,n=$n"
o=`echo $file |cut -d'_' -f2`
echo "o=$o"
outfile=title_"$o"_"$date".sql
echo "outfile=$outfile"
[ -f "$outfile" ] || rm -f ./$outfile
sed -n "$m,${n}p" $file>$outfile
echo "$i 执行完成"
cd ..
done
目的 从某一天的dump文件中,取出某个表的sql创建插入语句
期间遇到的问题
在变量的取值中因为变量的范围*过于宽泛导致变量的取值变多
从而sed -n 没有取到正确的值 导致文件多次写入,
sed后面的值是一个范围 $m,${n}p 由于$n才是我们想要的变量可以这么表示
删除某文件夹下面的 数据
find ./ -name *20161025*.sql -exec rm -f {} +
0 0
- 从mysqldump文件中提取某一天某一表格的sql语句
- 从Mysql某一表中随机读取n条数据的SQL查询语句
- 从Mysql某一表中随机读取n条数据的SQL查询语句
- 从Mysql某一表中随机读取n条数据的SQL查询语句
- 从Mysql某一表中随机读取n条数据的SQL查询语句
- 从Mysql某一表中随机读取n条数据的SQL查询语句
- sql语句实现返回某一字符串中出现某一字符的次数
- 替换数据库中某一字段值的SQL语句
- sql批量修改从某一表中得到的数据
- Python 从文件中读取某一行
- 如何从txt中或者codeblocks中提取出某一列的数值
- 获取某一表格的某一行某一列的值
- 获取oracle中某一用户某一表空间下的表、列注释说明的SQL查询语句
- sql 如何提取某一字段记录的部分数据
- 提取svn库中某一版本号段之间的修改文件
- 提取某一特征的字符串
- 查询SQL Server 数据表中不包含某一列的SQL语句该怎么写?
- SQL语句中查找条目中包含某一字符串的方法
- 新建数据库后CONNECT连接不了
- 《保卫萝卜》项目实践(2)
- C++11新特性
- 从零开始学C++之标准库类型(二):vector 类简介和例程
- Method详解
- 从mysqldump文件中提取某一天某一表格的sql语句
- Ajax的前端应用
- Deep Learning及NLP(自然语言处理)杂谈--第一部分
- 宏定义
- JAVA异常处理二--finally
- Python中Django后端应用
- 创建外网 ext_net - 每天5分钟玩转 OpenStack(104)
- genet遗传算法
- 消息队列