Введение
Amazon Simple Storage Service (Amazon S3) — это облачное хранилище объектов. Это недорогое хранилище, которое широко используется для резервного копирования или статического содержимого веб-сайтов.
Вы можете использовать утилиту командной строки AWSCLI для управления корзиной s3 и ее содержимым. В этом руководстве вы узнаете, как создать резервную копию веб-сайта в корзине Amazon s3 с помощью сценария оболочки.
Установите интерфейс командной строки AWS
Пакеты интерфейса командной строки AWS доступны в репозиториях по умолчанию в большинстве систем Linux. Вы можете установить его, выполнив одну из следующих команд.
Fedora, Redhat и CentOS:
sudo dnf install awscli
Ubuntu, Debian и Linux Mint:
sudo apt install awscli
После завершения установки проверьте версию awscli, выполнив эту команду:
aws --version
Создать сценарий оболочки
Теперь создайте файл сценария оболочки в своей системе и добавьте следующее содержимое.
Для этого урока я создал файл с помощью редактора nano:
nano /scripts/s3WebsiteBackup.sh
Добавьте следующее содержимое:
#/usr/bin/env bash
########################################################
##
## Shell script to archive website code and upload
## to S3 bucket.
##
##
########################################################
S3_BUCKET_NAME=""
DIR_TO_BACKUP="/var/www/html"
BACKUP_FILENAME='website'
TODAY=`date +%Y%m%d`
YY=`date +%Y`
MM=`date +%m`
AWSCMD="/usr/local/bin/aws"
TARCMD="/usr/bin/tar"
${TARCMD} czf /tmp/${BACKUP_FILENAME}-${TODAY}.tar.gz
${AWSCMD} cp /tmp/${BACKUP_FILENAME}-${TODAY}.tar.gz s3://${S3_BUCKET_NAME}/${YY}/${MM}/if [ $? -eq 0 ]; then
echo "Backup successfully uploaded to s3 bucket"
else
echo "Error in s3 backup"
fi
Обязательно обновите S3_BUCKET_NAME
и DIR_TO_BACKUP
в сценарии. Вы также можете изменить имя файла резервной копии в переменной BACKUP_FILENAME
.
Сохраните файл и закройте его. Теперь у вас есть сценарий оболочки для резервного копирования содержимого веб-сайта в корзины s3.
Запустите сценарий оболочки
Сделайте сценарий оболочки исполняемым, выполнив следующую команду:
chmod +x /scripts/s3WebsiteBackup.sh
Теперь вы можете протестировать скрипт, запустив его вручную:
bash /scripts/s3WebsiteBackup.sh
В случае успеха резервные копии будут загружены в корзину s3. Который вы можете просмотреть с помощью этой команды:
aws s3 ls
Расписание скрипта в Cron
Затем запланируйте свой сценарий в crontab, чтобы автоматизировать эту работу. Чтобы изменить crontab текущего пользователя, введите:
crontab -e
Добавьте следующую запись в crontab:
0 2 * * * bash /scripts/s3WebsiteBackup.sh
Сохраните файл и закройте редактор.
Вывод
В этом руководстве представлен сценарий оболочки для резервного копирования содержимого веб-сайта в корзину S3. Он также включает инструкции по запуску этого скрипта.