如果不使用AWS,Growi的定期备份的选项

首先

你好!我是生产技术部的工程师。我考虑了growi的定期备份方法,供您参考。

环境

versioon_info.png

定期备份

创建用于备份的脚本

备份使用mongodump命令创建存档文件。存档文件的文件名包含了日期和growi的版本号。恢复备份文件使用mongorestore命令。备份文件会在一周后删除。如果growi/docker-compose.yml中的FILE_UPLOAD设置为local,则可能需要额外备份。是否需要备份取决于是否使用了mongodb。

#!/bin/sh

BKDIR=/srv/growi/data/backups

# Creating backup archive
docker exec -d growi_mongo_1 mongodump --archive=mongodb.archive
docker cp growi_mongo_1:mongodb.archive $BKDIR/$(date --date '1 day ago' "+%s_%Y_%m_%d_3.7.1_mongodb.archive")

# Create config backup archive

# Delete old backups
find $BKDIR -mtime +6 | xargs rm -rf

用crontab定期执行脚本。

设定一个时间来备份crontab,并执行脚本。

# crontab -l
0 2 * * * /root/Docker/growi/growi_backup.sh CRON=1

请参考

    dockerで動いているgrowiのmongodbをバックアップ・リストアする
bannerAds