千家信息网

linux shell小脚本分享

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,我们网站最近要上云,需要数据库迁移,其中有个产生网站查看日志的业务,是每天产生一个表,数据量大概是300万左右,目前数据库里面有将近500天的数据,也就是有500个表,命名规范如下: MariaDB
千家信息网最后更新 2025年02月02日linux shell小脚本分享我们网站最近要上云,需要数据库迁移,其中有个产生网站查看日志的业务,是每天产生一个表,数据量大概是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的人来说,是有意义的,
0