![AWS Lightsail - Стек Wordpress - Скрипт резервного копирования](https://rvso.com/image/1618736/AWS%20Lightsail%20-%20%D0%A1%D1%82%D0%B5%D0%BA%20Wordpress%20-%20%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82%20%D1%80%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F.png)
Я постоянный пользователь Bitnami Wordpress Stack (создание веб-сайтов для клиентов, их поддержка и т. д.).
Раньше я использовал плагин резервного копирования 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
Настройте cronjob для выполнения скрипта в 1 час ночи каждый день:
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_credentials
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
Этот код полностью рабочий, и я пока не столкнулся ни с какими проблемами (4 месяца работы на 10 сайтах). Однако интересно, как я могу быстро восстановить резервную копию из такой настройки? Конечно, если кто-то увидит какие-либо проблемы с кодом выше, пожалуйста, укажите на них!