You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
1.1 KiB
Bash

#------数据库文件备份脚本start
#获取系统当前时间
time=$(date "+%Y-%m-%d_%H:%M:%S")
#备份配置(根据需求设置)
storagepath="你存储备份文件的目录" #存储路径
zipfilename="数据库备份_"$time".zip" #压缩包命名
sqlname="数据库备份_"$time".sql" #sql语句命名
user="root" #数据库账号
password="pwd" #数据库密码
zippassword="pwd" #压缩密码
deleteBakDay=30 #删除多少天(+前/-后)的数据
#备份sql压缩包存储路径
path=${storagepath}/${zipfilename}
#备份sql存储路径
sqlpath=${storagepath}/${sqlname}
#备份数据库 (根据需求备份数据库,用户需配置)
mysqldump -u${user} -p${password} --databases test test2 > $sqlpath
#压缩加密指定sql到指定文件目录下,不行压缩路径去掉 -r
/usr/bin/zip -P ${zippassword} -r $path $sqlpath >/dev/null 2>&1
#发送邮件(尚未找到合适的方法)
#sleep 5s
# 查找并删除N天之前的备份文件
find $storagepath -name "数据库备份_*.zip" -type f -mtime +${deleteBakDay} -exec rm -rf {} \; > /dev/null 2>&1
# 删除sql
rm -rf $sqlpath
#------数据库文件备份脚本end