基于CentOS7.5
需求:
1. 每天自动备份前一天的数据库;
2. 每周自动备份上一周的数据库;
3. 每月自动备份上个月的数据库。
注:没有考虑库大小,仅以备份整个库为目的。
1. 每天自动备份前一天数据库:
#!/bin/bash
time1=$(date -d yesterday "+%Y-%m-%d")
mysqldump -uroot -p123 --all-databases > /root/db_back/db-day-$time1.sql
备份后生成的备份文件名自动带有前一天的日期。
2. 每周自动备份上一周的数据库:
#!/bin/bash
time1=$(date -d -7day "+%Y.%m.%d")
time2=$(date -d yesterday "+%Y.%m.%d")
mysqldump -uroot -p123 --all-databases > /root/db_back/db-week-$time1-$time2.sql
备份后生成的备份文件名自动带有备份时间的周日,如:db-week-2019.12.14-2019.12.20.sql
3. 每月自动备份上个月的数据库:
#!/bin/bash
time1=$(date -d "$(date +%Y%m)01 last month" +%Y%m)
mysqldump -uroot -p123 --all-databases > /root/db_back/db-month-$time1.sql