前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用dropbox同步备份网站和数据库

使用dropbox同步备份网站和数据库

作者头像
老高的技术博客
发布2022-12-28 12:21:37
1K0
发布2022-12-28 12:21:37
举报
文章被收录于专栏:老高的技术博客

今天开整Dropbox,话说这货也被Q了。

废话不多说

以下内容需要翻{防屏蔽}墙使用,如果没有,可以参考老高的这篇文章搭建一个稳定又极速的翻{防屏蔽}墙环境

下载

官网找到linux专用脚本,执行一下对应系统的脚本

32位系统

代码语言:javascript
复制
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -

64位系统

代码语言:javascript
复制
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -

安装

运行~/.dropbox-dist/dropboxd,系统会提示你去登陆一下,这一步是为了关联账户!很重要!

登录完成,稍等片刻系统就会提示可以使用了,同时你会发现home下多了一个Dropbox的文件夹,没错,就是他!以后需要同步的文件都放在那里就OK!

使用脚本

不知道大家记住刚才官网里有一句话,Download this CLI script to control Dropbox,我们去把它下载下来,连接在这儿

官方wiki里有针对脚本的使用说明,链接在此

在此仅作简要说明

需求

  • At least version 2.4 of the C library
  • wget
  • Python 2.x ≥ 2.5 (we do not offer support for Python 3.0)
  • a web browser

下载脚本至~/bin

代码语言:javascript
复制
mkdir -p ~/bin
wget -O ~/bin/dropbox.py "https://www.dropbox.com/download?dl=packages/dropbox.py"
chmod +x ~/bin/dropbox.py

获取帮助

代码语言:javascript
复制
~/bin/dropbox.py help

which will show you all the commands you can use

status       获取 dropboxd 的运行状态
help         提供帮助
puburl       获取一个文件的共享链接
stop         停止 dropboxd
running      返回 dropboxd 是否在运行
start        运行 dropboxd
filestatus   获取一个或多个文件的同步状态
ls           显示文件(夹)的同步状态
autostart    用户登录时自动启动 dropboxd
exclude      同步时排除文件夹
lansync      启用禁用局域网同步

命令实例

代码语言:javascript
复制
~/bin/dropbox.py status
Indexing 317 files...

~/bin/dropbox.py help

~/bin/dropbox.py puburl ~/Dropbox/Public/file.zip
http://dl.dropbox.com/u/XXXXXXX/file.zip

~/bin/dropbox.py stop
Dropbox daemon stopped.

~/bin/dropbox.py help running
dropbox running
Returns 1 if running 0 if not running.

~/bin/dropbox.py help exclude
dropbox exclude [list]
dropbox exclude add [DIRECTORY] [DIRECTORY] ...
dropbox exclude remove [DIRECTORY] [DIRECTORY] ...
"list" prints a list of directories currently excluded from syncing.  
"add" adds one or more directories to the exclusion list, then resynchronizes Dropbox. 
"remove" removes one or more directories from the exclusion list, then resynchronizes Dropbox.
With no arguments, executes "list". 
Any specified path must be within Dropbox.

解绑

如果你的主机换了,原来的Dropbox确定不用,下面的操作可以让你轻松解绑你的账户和bropbox的关联

  • 删除linux主机上的一切有关文件(注意备份)

rm -rf ~/.dropbox Dropbox .dropbox-dist

  • 官网登录你的账户
  • 在右上角点击你的名字
  • 在下拉菜单中找到设置(setting)
  • 选择安全(security)选项卡
  • 在网页下面找到设备(devices)
  • 点击对应设备后面的X解绑

开机启动

代码语言:javascript
复制
vi /etc/rc.local
su - xxx -c "~/bin/dropbox.py start"
# xxx为你的用户名

定时开关

老高的机器上运行dropbox会占用50M左右的内存,平时不需要运行,只需要在新文件生成后运行即可!

下面是运行和停止dropbox的shell脚本。

代码语言:javascript
复制
#!/bin/bash

echo $1

if [ $1 == 'start' ]; then
    su - xxx -c "~/bin/dropbox.py start"
elif [ $1 == 'stop' ]; then
    su - xxx -c "~/bin/dropbox.py stop"
fi
# xxx为你的用户名

我们在每天的00:05和12:05运行,然后在15min后停止运行。

代码语言:javascript
复制
# 编辑计划任务
crontab -e

# ADD
# dropbox
5 00,12 * * * sh ~/dropbox.sh start
20 00,12 * * *  sh ~/dropbox.sh stop

备份网站和数据库

下面是备份网站用的简单脚本,需要替换xxx为用户名,还有密码和数据库信息需要修改!

代码语言:javascript
复制
#/bin/bash

DATE=`date +%Y%m%d`
YESTERDAY=`date +%Y%m%d -d -1days`
MONTH=`date +%Y%m`
RQ=`date +%Y%m%d%H%M`
user="xxx"
nglogs='/var/log/nginx/logs'
# Directory
DIR="/home/xxx/Dropbox/backup/$DATE"
# Mysql files
FILE_MY="$DIR/${RQ}-mysql.tar.gz"
# Html files
FILE_HTML="$DIR/${RQ}-site.tar.gz"
# Access files
FILE_ACCESS="$DIR/${RQ}-access.tar.gz"
# Hour
HOUR=`date +%H`

# Make directory
mkdir -p $DIR


pid_path="/var/run/nginx/nginx.pid"

# 切割日志
if [ "$HOUR" == "00" ];then
    mkdir -p $nglogs/phpgao/$MONTH
    cp $nglogs/phpgao.access.log $nglogs/phpgao/$MONTH/$YESTERDAY.access.log
    mv $nglogs/phpgao.access.log /tmp/$YESTERDAY.access.log
    cd /tmp
    tar zcf $FILE_ACCESS $YESTERDAY.access.log
    rm -f /tmp/$YESTERDAY.access.log
    kill -USR1 `cat ${pid_path}`
fi


mysqldump -u xxx -p not-a-really-password --add-drop-table --databases database1 database2 > /tmp/mysql.sql

# tar mysql
cd /tmp
tar zcf $FILE_MY mysql.sql
rm -f /tmp/mysql.sql
# tar html
cd /home/
tar zcf $FILE_HTML ftp/*
chown -R $user:$user $DIR

dropbox太占内存,我们只需要他运行一小会儿就行,写一个计划任务!

代码语言:javascript
复制
# dropbox
5 00,12 * * * sh ~/dropbox.sh start
20 00,12 * * *  sh ~/dropbox.sh stop

解绑

解绑参考官方问答

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-07-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下载
    • 32位系统
      • 64位系统
      • 安装
      • 使用脚本
        • 需求
          • 下载脚本至~/bin
            • 获取帮助
              • 命令实例
                • 解绑
                • 开机启动
                • 定时开关
                • 备份网站和数据库
                • 解绑
                相关产品与服务
                数据库
                云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档