MYSQL自动备份到阿里云OSS

发布时间:2018年08月20日 阅读:453 次

wget http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/50452/cn_zh/1493273499823/ossutil
chmod +x ossutil
./ossutil config -e oss-cn-shenzhen.aliyuncs.com -i OnlqsFZ7Vt0da97Z -k oKbA4u1rfAGBsIAmH1VGkRUtpNM86n

chmod +x mysqlbackup.sh

./mysqlbackup.sh

打开crontab编辑界面后增加一行,这段代码的意思是每天1点钟执行shell脚本,脚本内容指向上述编辑的脚本(定时参数请参阅crontab用法)

0 1 * * * /bin/bash /root/mysqlbackup.sh


mysqlbackup.sh 文件内容

#!/bin/sh 
cd /home/backup  #前往备份目录
echo "You are in radius directory"
Now=$(date +"%d-%m-%Y")  #获取当前日期
File=radius-$Now.sql  #字符串组合生成文件名
mysqldump -h127.0.0.1 -uroot -ppassword radius > $File  #备份主命令,此处的radius是你要备份的数据库
echo "Your database backup successfully completed"
SevenDays=$(date -d -1day  +"%d-%m-%Y") #生成1天前的文件名,用于删除,可自行改为所需时长
if [ -f /home/backup/radius-$SevenDays.sql ] #判断1天前的备份是否存在
then
rm -rf /home/backup/radius-$SevenDays.sql  #存在即删除
echo "You have delete 1days ago bak file "
else
echo "1days ago bak file not exist "
fi
END
cd /root
./ossutil cp /home/backup/*.sql oss://ai188/backup/


Tag:crontab mysql OSS
相关文章