Ghost博客全自动备份

ghost博客目前没有多少可用的插件,所以整个过程需要在VPS下用脚本完成,把ghost的数据库与图片备份到dropbox网盘。

一、所需工具

  • dropbox账号
  • ghost博客

二、配置过程

首先,登录dropbox,打开https://www.dropbox.com/developers/apps,点击creat app创建新的app,依次点击Dropbox APIFull 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,在其中粘贴进去以下内容:

#!/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"

ghost博客需要备份ghost/content/data/ghost.dbghost/content/images这两个文件夹下的内容即可,或者可以三个月或半年备份一次整个ghost目录。之前脚本中ghost的绝对目录位置需要修改。之后继续加执行权,运行脚本就能备份博客到dropbox了。

最后,需要让这个脚本定时启动,输入crontab -e,在最底部添一行50 1 * * * sh /home/user/backup/backup.sh就能在每天一点50分运行脚本。如需要其他的启动周期,详情请谷歌查crontab命令的使用方法。

完~

发表评论

电子邮件地址不会被公开。 必填项已用*标注