mysql自动备份

在home目录下新建autobackup.sh文件,输入如下内容,参数根据情况自己设置

#!/bin/sh

#请设置以下参数 
#db_array 要备份的数据库名,可以备份多个
db_array=(rms sales cloudserver iskyshop)
db_user=root
db_pwd=mysqladmin
#本目录只保留近两周每天的备份(日目录)
db_day_path=/home/dbBackupPerDay
#本目录保留每月1日的备份(月目录)
db_month_path=/home/dbBackupPerMonth
#mysqldump目录
#mysqldump=/opt/lampp/bin/mysqldump
mysqldump=/usr/bin/mysqldump

#创建文件夹
mkdir -p $db_day_path
mkdir -p $db_month_path

#backup mysql
for dbname in ${db_array[@]};
do
	data=$(date +%Y-%m-%d)		
    fileName=$dbname$data
	echo 'do backup...'$fileName
	#每日备份到日目录
	$mysqldump -u$db_user -p$db_pwd $dbname > $db_day_path/$fileName.sql
	
	#每月1日备份到月目录
	day=$(date +%d)	
	if [ $day -eq "1" ]
	then
	$mysqldump -u$db_user -p$db_pwd $dbname > $db_month_path/$fileName.sql
	fi	
done

#删除日目录两周前的备份
TwoWeeksAgo=$(date  +"%Y-%m-%d" -d  "-14 days")
rm -rf $db_day_path/*$TwoWeeksAgo.sql

#mysql其它参数
#-R 包括函数和存储过程

保存文件后,在系统中运行如下命令
crontab -e

在其中添加一行,每天2点执行
0 2 * * * sh /home/autobackup.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值