共计 2275 个字符,预计需要花费 6 分钟才能阅读完成。
一、开通又拍云
又拍云提供一年内每月可免费使用 10GB 存储空间及 15GB 流量,对于小型博客网站来做远程备份很合适,开通过程不再详细介绍,官网注册开通进行实名认证即可。
二、开通云存储
注意服务名称,以及授权账号
三、备份脚本
这里提供一个在使用的备份数据库及网站数据的脚本,注意脚本中的路径需要自行更改,以及需要备份的数据库名称。
#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脚本
#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提供的地址,账户密码即为授权账户
可以看到,当前云存储中为空
手动执行上传脚本,开始上传
正文完