共计 2275 个字符,预计需要花费 6 分钟才能阅读完成。
一、开通又拍云
又拍云提供一年内每月可免费使用 10GB 存储空间及 15GB 流量,对于小型博客网站来做远程备份很合适,开通过程不再详细介绍,官网注册开通进行实名认证即可。
二、开通云存储
注意服务名称,以及授权账号
三、备份脚本
这里提供一个在使用的备份数据库及网站数据的脚本,注意脚本中的路径需要自行更改,以及需要备份的数据库名称。
#!/bin/bash
#This is a sub-treasury backup script for MySQL And Web.
#File save time is 7 days.
#Backup MySQL
sqlpath="/data/DBbackup/" #SQL文件备份路径
if [ ! -d ${sqlpath} ];then
mkdir -p ${sqlpath}
fi
SQLPASS="123123123" #MySQLroot密码,如果脚本中填写不安全,可单独配置MySQL用户密码到my.cnf中
DATE=`date +%Y-%m-%d`
filename=${DATE}'.sql'
for db in wordpress mysql #需要备份的数据库名称
do
/usr/bin/mysqldump -u root -p{SQLPASS} --opt --default-character-set=utf8 --triggers --hex-blob --skip-lock-tables $db >${sqlpath}${db}-${filename}
cd ${sqlpath}
tar zcf ${sqlpath}${db}-$filename.tar.gz ${db}-${filename}
find ${sqlpath} -mtime +7 -name "*.sql.tar.gz" -exec rm -rf {} \;
done
rm -rf ${sqlpath}*.sql
echo "${DATE}.....MySQL bak OK!" >> /data/back.log
#Backup Web
webpath="/data/Webbackup/" #网站备份路径
if [ ! -d ${webpath} ];then
mkdir -p ${webpath}
fi
cd /var/www/html
tar zcf ${webpath}WordPress-${DATE}.tar.gz wordpress
echo "${DATE}.....Web bak OK!" >> /data/back.log
调试完成后,将脚本写入crontab定期执行
四,上传至UPyun脚本
#!/bin/bash
#Upload bak file to upyun
clear
SQLPath="/data/DBbackup"
WEBPath="/data/Webbackup"
#Download upx command
if [ ! -f /usr/bin/upx ];then
wget -O /root/upx http://collection.b0.upaiyun.com/softwares/upx/upx-linux-amd64-v0.2.2 &> /dev/null
mv /root/upx /usr/bin/upx && chmod +x /usr/bin/upx
fi
if [ ! -f /root/.upx.cfg ];then
/usr/bin/upx login
fi
#Create dir on upyun
/usr/bin/upx cd &> /dev/null
/usr/bin/upx tree | grep DBbackup &> /dev/null
[ $? -ne 0 ] && /usr/bin/upx mkdir DBbackup
/usr/bin/upx cd &> /dev/null
/usr/bin/upx tree | grep Webbackup &> /dev/null
[ $? -ne 0 ] && /usr/bin/upx mkdir Webbackup
DATE=`date +%Y-%m-%d`
#Upload SQL bak file
SQLFile=`ls -l ${SQLPath} | grep ${DATE} | awk '{print $9}'`
/usr/bin/upx cd DBbackup &> /dev/null
echo "Uploading SQL..."
for i in ${SQLFile}
do
/usr/bin/upx put ${SQLPath}/${i} &> /dev/null
done
/usr/bin/upx cd &> /dev/null
[ $? -eq 0 ] && echo "${DATE}:SQL file upload....OK" >> /data/upload.log
#Upload WEB bak file
WEBFile=`ls -l ${WEBPath} | grep ${DATE} | awk '{print $9}'`
/usr/bin/upx cd Webbackup &> /dev/null
echo "Uploading WEB..."
/usr/bin/upx put ${WEBPath}/${WEBFile} &> /dev/null
[ $? -eq 0 ] && echo "${DATE}:WEB file upload....OK" >> /data/upload.log
该脚本首次执行需要配置相关信息,先手动执行脚本配置后,即可加入cronotab中自动执行备份,例如
首次执行时,需要填写服务名及授权账号,准确填写后,即开始备份,加入crontab自动执行即可
注意:该脚本的执行时间需要在备份脚本之后,否则无法过滤到备份的文件,则无法上传
五,结果查看
使用ftp软件登录UPyun提供的地址,账户密码即为授权账户
可以看到,当前云存储中为空
手动执行上传脚本,开始上传
正文完