1、首先下载阿里云oss的命令行工具ossutil64
wget http://gosspublic.alicdn.com/ossutil/1.6.19/ossutil642、配置oss的key
mkdir /opt/tools/
cp ossutil64 /opt/tools/
chmod 755 /opt/tools/ossutil64
chmod +x /opt/tools/ossutil64
sudo ln -s /opt/tools/ossutil64 /usr/local/bin/ossutil64
ossutil64 config -e oss-cn-qingdao.aliyuncs.com -i AccessKeyID -k AccessKeySecret3、在data下新建backupmysql.sh
#!/bin/bash4、设置可执行
source /etc/profile
#备份保存路径
backup_dir=/data/backup/sql
#日期
dd=`date +%Y%m%d`
#备份工具
tool=mysqldump
# 主机
host=127.0.0.1
#用户名
username=root
#密码
password=密码
#需要备份的数据库
database_name=dbname
#判断文件夹不存在则创建
if [ ! -d $backup_dir ];
then
mkdir -p $backup_dir;
fi
#将备份文件压缩
$tool -h$host -u$username -p$password $database_name | gzip > $backup_dir/$database_name-$dd.sql.gz
echo "文件备份 $backup_dir/$database_name_$dd.sql.gz 成功!!!"
#将备份日志写入log文件
echo "创建 $backup_dir/$database_name-$dd.sql.gz " >> $backup_dir/$database_name.log
#7天前的日期
dd7=`date -d -7days +%Y%m%d`
#删除据库备份路径中的七天前sql.gz格式压缩文件。注:确认该路径下全是.sql.gz文件。
find $backup_dir -name $database_name-$dd7".sql.gz" -exec rm -rf {} \;
url=oss://ossname/sqlbackup
# 将/data/backup/sql目录下的sql.gz文件上传到oss的Bucket为 broad-tms的sql/test文件夹下
/opt/tools/ossutil64 cp $backup_dir/$database_name-$dd.sql.gz $url/$database_name/$database_name-$dd.sql.gz
#删除七天前的文件
/opt/tools/ossutil64 rm $url/$database_name/$database_name-$dd7".sql.gz"
echo "上传oss $backup_dir/$database_name-$dd.sql.gz " >> $backup_dir/$database_name.log
chmod +x backupmysql.sh
5、修改shell脚本属性,赋予执行权限
chmod 600 /data/backupmysql.sh
chmod +x /data/backupmysql.sh
6、定时执行脚本
vi /etc/crontab
添加
15 3 * * * /data/backupmysql.sh >> /opt/tools/shell/mysql_backup_test.log 2>&1
表示每天凌晨3点15分执行备份任务
/opt/tools/shell/mysql_backup_test.log可查看脚本执行日志
重启crontab
/etc/init.d/crond restart
7、MySQL恢复
mysql -u username -p databse < backup.sql
网友回复