Growi 정기 백업 - AWS를 사용하지 않는 경우

2132 단어 Growi도커MongoDB

소개



아무래도! 생산 기술부의 엔지니어입니다. growi의 정기 백업 방법을 검토했으므로, 참고까지 부디.

환경


  • CentOS : 7.6.1810
  • Docker-CE : 19.03.1
  • Docker Compose : 1.25.0
  • Growi :이하


  • 정기 백업



    백업용 스크립트 작성



    백업은 mongodump 명령을 사용하여 아카이브 파일을 만듭니다. 만들 아카이브 파일의 파일 이름에는 날짜와 시간과 growi 버전 번호가 붙었습니다. 백업 파일에서 복원하려면 mongorestore 명령을 사용합니다. 백업은 일주일 경과한 파일에서 삭제됩니다.
    ※growi/docker-compose.yml의 FILE_UPLOAD를 local로 설정하고 있는 경우는 별도 백업이 필요하다고 생각됩니다. mongodb로 해두면 불필요한 것도 수수께끼입니다.

    growi_backup.sh
    #!/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 백업 복원
  • 좋은 웹페이지 즐겨찾기