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
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 |