You've successfully subscribed to 完美的胖达
Great! Next, complete checkout for full access to 完美的胖达
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
Ghost博客更新步骤及Log自动rotation

Ghost博客更新步骤及Log自动rotation

. 约 3 分钟读完

好久不折腾博客了,发现版本号又大跃进了,于是马马虎虎更新一下,与时俱进吧。
老样子,连接后第一步就是进行升级三部曲,Linux的安全性最好是通过不断升级来保证。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

中间有什么提示直接回车即可。

因为Ghost升级,之前的12.x的node下直接升级会报错,因此我们先升级node到16.x

cd ~
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash
sudo apt-get install -y nodejs

接下来升级Ghost CLI工具。

cd /var/www/ghost
sudo npm install ghost-cli@latest -g

接下来升级本体,别忘了先做个体检。

ghost doctor
ghost update

搞定收工。

哦还不能收工,最近抽空看了以下博客自动备份的内容,发现备份包越来越大了。
遂研究了下,发现log文件高达600多M,于是直接删除。

但是手动删除毕竟是个事而且比较麻烦,不符合自动运维的精神,于是研究了下如何自动完成,发现Ghost本身是支持自动rotation功能的(何时支持我懒得查了,多半是在我初始安装之后),按文档似乎应该自动启动,不知为何我的博客并没有,可能是文档有误,也可能是因为我一路升级上来配置并不是当下新安装的默认配置。

Anyway,自己动手丰衣足食,顺便记录一下。

首先进入目录:

cd /var/www/ghost

文档没写清楚,其实就在这个目录下就有配置文件config.production.json,不用到处找(和我一样),nano之。

sudo nano config.production.json

找到log对应配置字段,修改如下:

  "logging": {
    "level": "info",
    "rotation": {
      "enabled": true,
      "count": 15,
      "period": "1d"
    },
    "transports": [
      "file",
      "stdout"
    ]
  },

level字段原本就有,我没改。此属性对应log记录等级,我这边是详细记录,如果你不想记录那么多,可以将其对应改为error级别。
rotation这一段原本是没有的,所以我的log文件无限增大,遂加之。
enabled不言自明。
period表示一个时间段的长度,我设置的是一天,超过后会新建log文件,之前的文件按顺序增加后缀名保存。
count表示保存多少个时间段的log,我这边是保存半个月,系统会以此删除超过时间的log。
transports是原本就有的字段,保留之。

log文件保存在/var/www/ghost/content/logs目录中,如果你有额外需求这里可以设置保存在另外的目录,详见文档,我就懒得写了,如果修改的话注意确保ghost用户应对其有相应操作权限。

修改完后别忘了务必重启Ghost以确保配置生效。

ghost restart

运行一天后结果如下:

ubuntu@ip:/var/www/ghost/content/logs$ ls -hl
total 2.2M
 3.1K May 18 03:54 https___wmdpd_com_production.error.log
  14K May 17 14:24 https___wmdpd_com_production.error.log.0
 439K May 18 04:16 https___wmdpd_com_production.log
 1.7M May 17 23:59 https___wmdpd_com_production.log.0
   34 Dec  7  2020 log.txt
本篇已被阅读