Mysql备份和还原shell脚本

导出数据库所有表结构和数据,指定表导出2个月数据

#!/bin/sh
ldate=$(date -d '-2 months' +%Y-%m-01)
for j in `mysql -uusername -ppassword -e "USE db;SHOW TABLES"`
do
        if [ $j != "track_t" ]
        then
                mysqldump -uusername -ppassword db $j >> /home/user/db_backup/$j.sql
        else
                mysqldump -uusername -ppassword db $j -w "created_dt>'$ldate'" >> /home/user/db_backup/$j.sql
        fi
done

关于shell中date

$ date -d ’next monday’ (下周一的日期)
$ date -d next-day +%Y%m%d(明天的日期)或者:date -d tomorrow +%Y%m%d
$ date -d last-day +%Y%m%d(昨天的日期) 或者:date -d yesterday +%Y%m%d
$ date -d last-month +%Y%m(上个月是几月)
$ date -d next-month +%Y%m(下个月是几月)

$ date -d ’30 days ago’ (30天前的日期)

$ date -d ’dec 14 -2 weeks’ (相对:dec 14这个日期的两周前的日期)
$ date -d ’-100 days’ (100天以前的日期)
$ date -d ’50 days’(50天后的日期)


还原脚本

#!/bin/sh
for j in `ls /home/user/db_backup`
do
        mysql -uusername -ppassword db < /home/user/db_backup/$j
done


你可能感兴趣的:(数据库,shell)