diff --git a/bash/备份数据库/sql-backup.sh b/bash/备份数据库/sql-backup.sh new file mode 100644 index 0000000..0e5f918 --- /dev/null +++ b/bash/备份数据库/sql-backup.sh @@ -0,0 +1,26 @@ +#------数据库文件备份脚本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 \ No newline at end of file