MYSQL Linux下自动备份并删除7天前的旧备份 sh脚本

# 数据库用户名
username=root
# 数据库密码
password=********
# 需要备份的数据库名
database=wbwy
# 备份文件到哪个路径
path="/data"
# 服务器IP地址
ipAddress="*.*.*.*"
# 日志文件处理
if [ -f ${path}/log.log ];then
echo "日志文件已存在,即将开始备份:" >> ${path}/log.log
else
touch ${path}/log.log
echo "日志文件不存在,创建日志文件" >> ${path}/log.log
fi
# 开始备份
echo "正在执行数据库备份..."
echo "$(date +%Y-%m-%d_%H':'%M':'%S) 正在执行数据库备份......" >> ${path}/log.log
mysqldump -h${ipAddress} -u${username} -p${password} ${database} | gzip > ${path}/wbwy_$(date +%Y%m%d_%H%M%S).sql.gz
echo "$(date +%Y-%m-%d_%H':'%M':'%S) 备份已完成" >> ${path}/log.log

echo "$(date +%Y-%m-%d_%H':'%M':'%S) 正在删除旧的备份文件" >> ${path}/log.log
find ${path}/ -mtime +7 -name "*.sql.gz" -exec rm -rf {} \;
echo "$(date +%Y-%m-%d_%H':'%M':'%S) 删除备份完成" >> ${path}/log.log

 


可以结合crontab命令实现定时自动备份并删除旧备份文件的功能

 

你可能感兴趣的:(Database)