一、开通又拍云
又拍云提供一年内每月可免费使用 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提供的地址,账户密码即为授权账户
可以看到,当前云存储中为空
手动执行上传脚本,开始上传