自动定时备份VPS – 搭建个人网站(五)
来源:互联网 发布:啊哈c语言修订版 pdf 编辑:程序博客网 时间:2024/04/30 06:23
转自:http://keenwon.com/449.html
建设网站,备份是非常重要的工作,再好的VPS也无法100%保证数据的安全性(何况我用的这么便宜),下面介绍下备份网站主程序和使用dropbox备份网站附件、数据库。
一、使用Dropbox备份网站附件和数据库
如果没有Dropbox的可以注册,使用我的推广链接(https://db.tt/S96s2ZYk),咱两都增加500M空间。
登录Dropbox后,打开Apps页面,点击 Create App 按钮,创建一个App。安装下图操作:
最后要输入 App name。创建完成之后,就有App key 和 App secret 了,这个后面要用到。
用Putty登陆vps,获取最新的上传dropbox脚本:
- wget https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh
配置:
- chmod +x dropbox_uploader.sh #赋予权限
- ./dropbox_uploader.sh info #开始绑定APP
这里他会让你输入App key以及App secret,在刚刚我们创造的APP那里有! 然后他会询问你是App folder 还是Full Dropbox,按照刚刚我们上面的说明,按f,然后回车! 然后他会给出一个地址,自己复制下来用浏览器打开,授权给这个APP! 授权好了,回到SSH上,按下回车。 如果不出意外的话,我们就配置好了,可以用下面的代码测试!
- ./dropbox_uploader.sh upload /etc/passwd /backup/passwd.old
显示Done就Ok了。然后我们创建自己的备份脚本
- vi backup.sh
输入内容:
- #!/bin/bash
- SCRIPT_DIR="/root" #这个改成你存放刚刚下载下来的dropbox_uploader.sh的文件夹位置
- DROPBOX_DIR="/backup" #这个改成你的备份文件想要放在Dropbox下面的文件夹名称,如果不存在,脚本会自动创建
- BACKUP_SRC="/home/wwwroot /usr/local/nginx/conf" #这个是你想要备份的本地VPS上的文件,不同的目录用空格分开
- BACKUP_DST="/tmp" #这个是你暂时存放备份压缩文件的地方,一般用/tmp即可
- MYSQL_SERVER="localhost" #这个是你mysql服务器的地址,一般填这个本地地址即可
- MYSQL_USER="mysqluser" #这个是你mysql的用户名名称,比如root或admin之类的
- MYSQL_PASS="password" #这个是你mysql用户的密码
- # 下面的一般不用改了
- NOW=$(date +"%Y.%m.%d")
- DESTFILE="$BACKUP_DST/$NOW.tar.gz"
- # 备份mysql数据库并和其它备份文件一起压缩成一个文件
- mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS --all-databases > "$NOW-Databases.sql"
- tar cfz "$DESTFILE" $BACKUP_SRC "$NOW-Databases.sql"
- # 用脚本上传到dropbox
- $SCRIPT_DIR/dropbox_uploader.sh upload "$DESTFILE" "$DROPBOX_DIR/$NOW.tar.gz"
- # 删除本地的临时文件
- rm -f "$NOW-Databases.sql" "$DESTFILE"
然后改为可自行文件:
- chmod +x backup.sh #赋予权限
运行的时候就输入下面的代码即可:
- ./backup.sh
然后通过 cron 来设置定时运行脚本:
- crontab -e
加入以下代码,:wq 保存
- 0 5 * * * /bin/bash /root/backup.sh
重启crontab,以后每天5点自动备份到dropbox,由于VPS是国外的,所以不会像国内打开dropbox这么慢。
- /etc/rc.d/init.d/crond restart
最后发一下我实际使用的backup.sh
- SCRIPT_DIR="/root"
- DROPBOX_DIR="/KeenWon"
- BACKUP_SRC="/home/wwwroot/default/wp-content/uploads" #只备份一直变动的上传文件夹,其他不用每天备份
- BACKUP_DST="/tmp"
- MYSQL_SERVER="localhost"
- MYSQL_USER="******用户******"
- MYSQL_PASS="******密码******"
- NOW=$(date +"%Y.%m.%d")
- DESTFILE="$BACKUP_DST/$NOW.tar.gz"
- mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS --all-databases > "$NOW-Databases.sql"
- tar cfz "$DESTFILE" $BACKUP_SRC "$NOW-Databases.sql"
- $SCRIPT_DIR/dropbox_uploader.sh upload "$DESTFILE" "$DROPBOX_DIR/$NOW.tar.gz"
- rm -f "$NOW-Databases.sql"
- rm -f "$DESTFILE"
此部分参考了 http://www.inbiji.com/biji/vps-data-is-automatically-backed-up-to-dropbox.html 纠正了其中错误
二、备份网站主程序
程序有修改的话,备份一个保存起来就好了,不用每天执行:
- tar -zcvf wordpress.tar.gz /home/wwwroot/default/* --exclude /home/wwwroot/default/wp-content/uploads
其中 /home/wwwroot/default 是我的网站根目录,排除了uploads文件夹,因为后期会有大量附件,而且这个也会每天备份到dropbox。之前一篇文章
提到过使用 kindeditor 的好处就是文章插图也会上传到 /wp-content/uploads 文件夹,方便备份。
- 自动定时备份VPS – 搭建个人网站(五)
- 小内存VPS优化 – 搭建个人网站(四)
- VPS(网站数据+数据库)自动备份脚本(本地+ftp异地备份)
- 搬瓦工VPS(Centos6_x86)+LNMP+WordPress搭建个人博客/网站
- 搬瓦工VPS(Centos6_x86)+LNMP+WordPress搭建个人博客/网站
- 搬瓦工VPS+LNMP+Wordpress快速搭建个人网站
- 搬瓦工VPS(Centos6_x86)+LNMP+WordPress搭建个人博客/网站
- VPS搭建网站
- vps搭建网站笔记
- 五大步骤快速搭建个人网站
- 在vps[linux]上定时备份你的网站和mysql数据库
- 搭建个人vpn:vps+shadowsocks
- VPS上使用DropBox定时备份方案
- sqlserver定时自动备份
- mysql定时自动备份
- mysql自动定时备份
- 定时自动备份下载
- sqlserver08定时自动备份
- SVN 服务端搭建+客户端使用 视频教程
- iOS学习之sqlite的创建数据库,表,插入查看数据
- Exercise 31:做出决定
- kindeditor完美整合struts2实现图片上传的功能
- Linux shell 简明教程(二)
- 自动定时备份VPS – 搭建个人网站(五)
- BUPT OJ94. 最小距离查询
- JS获取窗口的宽和高
- [机器学习]机器学习学科初探
- Struts + Spring + Hibernate 视频教程
- jQuery最佳实践
- CES2012 摩托罗拉Golden-i头戴式电脑
- 按位与、或、异或等运算方法
- JS获取苹果引用评分