AWS Lightsail - Wordpress 스택 - 백업 스크립트

AWS Lightsail - Wordpress 스택 - 백업 스크립트

저는 정기적인 비트나미 워드프레스 스택 사용자입니다(클라이언트를 위한 웹사이트 설정 및 유지 관리 등).

저는 Updraft 백업 플러그인을 사용하여 WordPress를 백업하고 S3 계정에 푸시했습니다. 그러나 이와 같은 설정에서 많은 문제를 발견했습니다.

서버 수준 백업이 훨씬 더 좋을 것이라고 생각했습니다.

다음은 파일, 데이터베이스를 백업한 다음 S3에 푸시한 다음 7일이 넘은 파일이 있는지 확인하고 삭제하기 위해 만든 스크립트입니다.

백업_스크립트.sh

#!/bin/bash
    time=$(date +%d-%m-%Y-%H.%M.%S)
    . /home/bitnami/aws_credentials
    /opt/bitnami/mysql/bin/mysqldump -u DATABASE_USER --password="USER_PASSWORD" --result-file=/home/bitnami/apps/backups/database-$time.sql bitnami_wordpress
    tar -pcf /home/bitnami/apps/backups/database-$time.tar.gz /home/bitnami/apps/backups/database-$time.sql
    tar -pcf /home/bitnami/apps/backups/backup-$time.tar.gz /opt/bitnami/apps/wordpress
    find . -name '/home/bitnami/apps/backups/*.sql' -type f -delete
    aws s3 cp /home/bitnami/apps/backups/database-$time.tar.gz s3://maintenance-websites-backups/folder_name/
    aws s3 cp /home/bitnami/apps/backups/backup-$time.tar.gz s3://maintenance-websites-backups/folder_name/
    find /home/bitnami/apps/backups -type f -mtime +7 -delete

이것을 실행한 후:chmod +x /home/bitnami/apps/backup_script.sh

매일 오전 1시에 스크립트를 실행하도록 cronjob을 설정합니다.

sudo crontab -e

0 1 * * * /home/bitnami/apps/backup_script.sh > /tmp/backup.log 2>&1

S3에 파일을 푸시하려면 AWS CLI가 필요합니다.

sudo apt-get install awscli
aws configure

참조:https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html

aws_자격 증명

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=

이 코드는 완벽하게 작동하며 지금까지 어떤 문제도 발생하지 않았습니다(10개 웹사이트에서 4개월 동안 실행). 그런데 이러한 설정에서 백업을 어떻게 빠르게 복원할 수 있는지 궁금합니다. 물론, 위 코드에 문제가 있는 사람이 있으면 지적해주세요!

관련 정보