EEfaq论坛-赚客自留地

 找回密码
 免费注册
查看: 1385|回复: 12

VPS文件和数据库备份到Dropbox 完整命令

  [复制链接]
发表于 2014-6-8 20:32:29 | 显示全部楼层 |阅读模式
本帖最后由 justfan 于 2014-6-8 20:41 编辑

看到有人问自动备份,恰好我前两天也在找这个代码,功夫不负有心人,我在github找到了相关代码,并操作成功。我把这个过程分享出来。
首先需要注册dropbox,然后建立开发者账户下添加app后获取key 和授权码,然后在vps上执行以下命令[mw_shl_code=bash,true]apt-get install curl p7zip-full
cd /root
curl "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh
chmod +x dropbox_uploader.sh
./dropbox_uploader.sh
执行过程中需要输入dropbox 获取的key和授权码。完成验证成功后执行
curl "https://raw.githubusercontent.com/funcman/vps_backup_shell/master/backup.sh"
chmod +x backup.sh
nano work.sh
编辑器添加:
#!/bin/bash

BASEPATH=$(cd `dirname $0`; pwd)

DBPATH=/tmp/database`date +%Y%m%d`

mkdir -p $DBPATH
mysqldump -u用户名 -p密码 -hlocalhost 数据库名称 > $DBPATH/website_database.sql

$BASEPATH/backup.sh -D"$DBPATH" -fsite_db -d7
$BASEPATH/backup.sh -D/var/www -fsite_www -d7

rm -rf $DBPATH
ctrl+o 保存, ctrl+x退出编辑
chmod +x work.sh
接下来添加每日自动备份
nano /etc/crontab
尾行添加
00 15 * * * root /root/work.sh
[/mw_shl_code]
以上为自动备份完整命令行。
之前建的站点做niche由于没有备份,vps出了问题全部没了,血泪教训。现在又重新开始做了。
另外,有用的话请给我点鼓励!






评分

参与人数 9e币 +13 收起 理由
445566 + 1 認眞參與
uper + 3 谢谢分享!
the + 1 谢谢分享!
useejack + 1 谢谢分享!
ryan2101 + 1
etoole + 1 鼓勵
非常小黑 + 3
ads419 + 1 论坛有你更精彩!
jiaruseng + 1 谢谢分享!

查看全部评分

回复

使用道具 举报

发表于 2014-6-9 08:35:57 | 显示全部楼层
是不是每个网站都需要单独备份,如果一个VPS上有三个网站,需要做三遍这个这程?
今天的分用完了,明天加分
谢谢!
回复 支持 反对

使用道具 举报

发表于 2014-6-9 09:07:39 | 显示全部楼层

mysqldump -u用户名 -p密码 -hlocalhost 数据库名称 > $DBPATH/website_database.sql

可以添加多个数据库。或修改为全部数据库。
具体语法可以参考mysqldump


回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-9 09:17:02 | 显示全部楼层
简要说明下,如果你的网站目录为
/var/www/www.mysite1.com
/var/www/www.mysite2.com
这种格式
以上代码会备份你vps上所有的网站文件

关于数据库
mysqldump -u用户名 -p密码 -hlocalhost 数据库名称 > $DBPATH/website_database.sql

更改为
mysqldump -u用户名 -p密码 -hlocalhost > $DBPATH/website_database.sql
即备份你vps上所有站点的数据库文件

安装完成后就不需要在再装wordpress备份插件了。


回复 支持 反对

使用道具 举报

发表于 2014-6-9 09:39:39 | 显示全部楼层
学习了,谢谢楼主分享。
回复 支持 反对

使用道具 举报

发表于 2014-6-9 10:43:40 | 显示全部楼层
如果是大数据备份起来消耗资源吗
回复 支持 反对

使用道具 举报

发表于 2014-6-9 20:12:05 | 显示全部楼层
mark                                       
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-9 21:29:18 | 显示全部楼层
etoole 发表于 2014-6-9 10:43
如果是大数据备份起来消耗资源吗

你说的大数据执行效率问题,我不是很了解,我认为效率还可以,占用资源问题也就是仅在备份的时候,其他时间代码不运行,不占用资源。
你可以设置执行自动备份时间为当地时间凌晨访问量少的时候。另外我shell 直接使用命令行备份花时间不到5秒即备份到了dropbox(站点内容不多)。
回复 支持 反对

使用道具 举报

发表于 2014-6-10 06:25:55 | 显示全部楼层



然后建立开发者账户下添加app后获取key 和授权码

这句话是什么意思?我就注册了一个dropbox,还有开发者帐户?在那里添加app?
谢谢!


回复 支持 反对

使用道具 举报

发表于 2014-6-10 06:53:18 | 显示全部楼层
是啊,我也注册了dropbox,开发者帐户和app是哪的?github?
回复 支持 反对

使用道具 举报

发表于 2014-6-10 07:40:18 | 显示全部楼层
这个好,谢谢楼主了。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-10 08:32:02 | 显示全部楼层
在https://www.dropbox.com/developers/apps/create
建立app文件夹, 具体设置如下
选择dropbox api APP, 选项设置为:
1. Files and datastores
2. No My app needs access to files already on Dropbox.
3. All file types My app needs access to a user's full Dropbox. Only supported via the Core API.
然后输入APP文件夹名称(随意)。
点击确定后,下一步你就可以找到
App key
App secret
然后参照安装步骤将这两项内容复制进去即可。


回复 支持 反对

使用道具 举报

发表于 2014-6-17 10:58:58 | 显示全部楼层
12a.jpg



当我执行到chmod +x backup.sh 时出错,怎么回事,求帮助
谢谢!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

QQ|联系我们|Archiver|手机版|小黑屋|EEfaq论坛

GMT+8, 2024-12-22 13:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表