如果不使用AWS,Growi的定期备份的选项
首先
你好!我是生产技术部的工程师。我考虑了growi的定期备份方法,供您参考。
环境

定期备份
创建用于备份的脚本
备份使用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をバックアップ・リストアする