Ghost博客目前没有多少可用的插件,所以整个过程需要在VPS下用脚本完成,把Ghost的数据库与图片备份到Dropbox网盘。
一、所需工具
- Dropbox账号
- Ghost博客
二、配置过程
首先,登录Dropbox,打开https://www.dropbox.com/developers/apps
,点击creat app创建新的app,依次点击Dropbox API
、Full Dropbox
,app name随便取名,创建成功后进入刚刚创建的app管理页面,能看到App key、App secret后这个地方就完成了。
使用SSH连接上自己的VPS,进行如下操作:
mkdir backup #创建目录
cd backup #进入目录
wget https://raw.github.com/andreafabrizi/Dropbox- Uploader/master/dropbox_uploader.sh --no-check-certificate #下载dropbox备份脚本
chmod +x dropbox_uploader.sh #加执行权限
sh dropbox_uploader.sh #运行脚本
首次运行,需要输入之前创建的app的两个key,之后输入f回车,接着复制出现的链接在浏览器中打开,完成授权,至此网盘配置完成。
之后,需要写一个shell脚本,使用顺手的编辑器编辑,我是使用vim,在其中粘贴进去以下内容:
ghost博客需要备份ghost/content/data/ghost.db
和ghost/content/images
这两个文件夹下的内容即可,或者可以三个月或半年备份一次整个Ghost目录。之前脚本中Ghost的绝对目录位置需要修改。之后继续加执行权,运行脚本就能备份博客到Dropbox了。
最后,需要让这个脚本定时启动,输入crontab -e
,在最底部添一行50 1 * * * sh /home/user/backup/backup.sh
就能在每天一点50分运行脚本。如需要其他的启动周期,详情请谷歌查crontab命令的使用方法。
#!/bin/bash
SCRIPT_DIR="/home/user/tools" #这个改成你存放刚刚下 载下来的dropbox_uploader.sh的文件夹位置
DROPBOX_DIR="/backup" #这个改成你的备份文件想要放在Dropbox下面的文件夹名称,如果不存在,脚本会自动创建
BACKUP_SRC="/var/www/ghost/content/images /var/www/ghost/content/data/ghost.db" #这个是你想要备份的本地VPS上的文件,不同的目录用空格分开
BACKUP_DST="/tmp" #这个是你暂时存放备份压缩文件的地方,一般用/tmp即可
# 下面的一般不用改了
NOW=$(date +"%Y.%m.%d")
DESTFILE="$BACKUP_DST/$NOW.tar.gz"
# 压缩文件
tar cfz "$DESTFILE" $BACKUP_SRC
# 用脚本上传到Dropbox
$SCRIPT_DIR/dropbox_uploader.sh upload "$DESTFILE" "$DROPBOX_DIR/$NOW.tar.gz"
# 删除本地的临时文件
rm -f "$NOW-Databases.sql" "$DESTFILE"
完~
发表回复