ITPub博客

首页 > Linux操作系统 > Linux操作系统 > linux shell小脚本分享

linux shell小脚本分享

原创 Linux操作系统 作者:贺子_DBA时代 时间:2017-07-18 17:10:09 2 删除 编辑
我们网站最近要上云,需要数据库迁移,其中有个产生网站查看日志的业务,是每天产生一个表,数据量大概是300万左右,目前数据库里面有将近500天的数据,也就是有500个表,命名规范如下:
MariaDB [log]> show tables;
| pvlogs_20170615 |
| pvlogs_20170616 |
| pvlogs_20170617 |
| pvlogs_20170618 |
| pvlogs_20170619 |
| pvlogs_20170620 |
| pvlogs_20170621 |
| pvlogs_20170622 |
| pvlogs_20170623 |
现在要我把这些表全部dump先来,并且一个表一个文件,这手工一个一个mysqldump,是绝对不行的,于是想到了用shell脚本完成,具体如下:
[root@S143 ~]# cat mysqldumplog.sh
#! /bin/bash
datenum=`date +%Y%m%d -d '498 days ago'`
nowdate=`date +%Y%m%d`
while [ $datenum -lt $nowdate ]
do
mysqldump -uroot -p***** log pvlogs_$datenum | gzip >/backup_mysql/mysql_143/log/pvlogs_$datenum.sql;
datenum=`date -d "$datenum 1 days" +"%Y%m%d"`
done
注释:1:date +%Y%m%d -d '498 days ago' 取出498天之前的日期,2:date -d "$datenum 1 days" +"%Y%m%d"是在指定的日期上加一天;
脚本很简单,可是对于刚接触linux shell的人来说,是有意义的,

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29654823/viewspace-2142256/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
10年数据库管理员从业经历,熟悉Oracle、mysql、tidb、oceanbase、redis、 mongodb 、python等技术栈,持有11g ocm 、mysql 5.7 ocp 、tidb 5.0 ptcp、tidb 6.0 ptca、oceanbase obcp等

注册时间:2014-05-12

  • 博文量
    327
  • 访问量
    2149009