利用Dropbox备份服务器

cover-image
好叭.用了一段时间的VPS, 昨天想把一个文件改个名字, 手贱把mv写成了rm, 结果那个文件被删除了TvT. 这才算是意识到备份文件的重要性. 昨天用python写了一个备份的脚本, 大概长这样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/python
import os
import time

def backup(dirs, backTo):
tar_today = backTo + time.strftime('%Y%m%d')
if not os.path.exists(tar_today):
os.mkdir(tar_today)
print "Successfully create directory", tar_today
for s in dirs:
directory = tar_today + os.sep + s + '.tar.gz'
command = "tar -zcvf %s %s" % (directory, '/home/' + s)
if os.system(command) == 0:
print "Successfully create backup for", s
else:
print "Backup Failed! For", s

source = ['zeroling'] #balabala
target_dir = '/backup/'

backup(source, target_dir)

我的第一个python脚本好像命名有点乱啊0.0 不管了, 能用就好.
这样就能用crontab每晚半夜运行它来得到备份了

1
2
crontab -e
30 02 * * * /root/backup.py

然后我们需要安装一下dropbox, 官网https://www.dropbox.com/install, 我们选择我们需要的linux32位命令行式安装(!注意, 以下操作我都用的root账户)

1
$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -

接着,从新建的 .dropbox-dist 文件夹运行 Dropbox 守护程序。

1
~/.dropbox-dist/dropboxd

这个时候大概会出来一个提示, 大概意思是这台电脑还没有与dropbox账户连接, 我们用浏览器访问给出的那个网址按步骤连接即可, 注意这个时候不要按ctrl+c中止这个程序的运行, 等到出现This computer is now linked to Dropbox.字样的时候再按Ctrl+C中止这个程序.

然后去官网下载一个python脚本, https://www.dropbox.com/download?dl=packages/dropbox.py放到自己的PATH里面, 例如我的是/usr/local/bin ,这里是为了方便直接执行. 记得给这个py赋予x(运行)权限

1
chmod +x dropbox.py

然后我们在自己的home目录也就是~下面创建一个Dropbox文件夹, 然后启动这个dropbox监听器

1
2
3
cd ~
mkdir Dropbox
dropbox.py start

接下来只要把东西往这里塞, dropbox就会自动的, 实时的把文件同步到网盘里面去.
我创建了一个软连接到/backup目录, 这样一旦备份完成, 也会自动同步备份到网盘里面.

1
ln -s /backup/ ~/Dropbox/backup/

另外, 我们可以通过dropbox.py status命令来查看当前的同步情况,

1
2
Syncing (4 files remaining, 18 mins left)
Uploading 4 files (181.4 KB/sec, 18 mins left)

它会告诉你当前的dropbox运行情况.

其他的高级功能可以参阅dropbox.py help

对了, 还遗忘了一点, 数据库的备份, 我的VPS上安装了mysql和mongod, 下回再说如何创建这两货的备份.

需要注册Dropbox的同学点这里, 这是一个我的邀请链接, 通过这个注册可以额外获得500M免费空间.

睡觉咯.晚安~