В современном мире безопасность данных — одна из важнейших задач для любого администратора или пользователя. Облачные сервисы, такие как Mega.nz, предоставляют удобное и надежное хранилище для ваших резервных копий. В этой статье мы рассмотрим, как настроить автоматическое копирование архива с сервера Debian 12 в облако Mega.nz с помощью официального клиента `megacmd`, добавить проверку свободного места и зашифровать архив перед загрузкой.
Для начала установим официальный клиент Mega:
wget https://mega.nz/linux/repo/Debian_12/amd64/megacmd-Debian_12_amd64.deb && sudo apt install "$PWD/megacmd-Debian_12_amd64.deb"
Проверьте установку:
mega-login --version
Выполните вход в ваш аккаунт Mega:
mega-login your_email@example.com your_password
Важно: Для безопасности рекомендуется выполнить вход вручную один раз, чтобы сохранить сессию. Это позволит запускать скрипты без указания пароля.
Создайте файл `upload_to_mega.sh` со следующим содержимым:
#!/bin/bash
# Пути к файлам
LOCAL_FILE="/home/user/backup/archive.tar.gz"
ENCRYPTED_FILE="/home/user/backup/archive.tar.gz.gpg"
MEGA_REMOTE_PATH="/Backups/archive.tar.gz.gpg"
PASSPHRASE_FILE="/home/user/.gpg_passphrase"
# Шифрование архива с помощью gpg (AES256)
if [ ! -f "$ENCRYPTED_FILE" ]; then
gpg --batch --yes --passphrase-file "$PASSPHRASE_FILE" --symmetric --cipher-algo AES256 "$LOCAL_FILE"
if [ $? -ne 0 ]; then
echo "$(date): Ошибка шифрования файла" >&2
exit 1
fi
fi
# Получаем размер зашифрованного файла
FILE_SIZE=$(stat -c%s "$ENCRYPTED_FILE")
# Получаем свободное место в облаке Mega (в байтах)
FREE_SPACE=$(mega-df | grep "USED STORAGE" | awk '{used=$3; total=$NF; free=total-used; printf "%.0f\n", free}')
if (( FILE_SIZE > FREE_SPACE )); then
echo "$(date): Недостаточно места в Mega для загрузки файла (требуется $FILE_SIZE, свободно $FREE_SPACE)" >&2
exit 1
fi
# Загружаем зашифрованный файл в облако Mega
mega-put "$ENCRYPTED_FILE" "$MEGA_REMOTE_PATH"
if [ $? -eq 0 ]; then
echo "$(date): Зашифрованный файл успешно загружен в Mega.nz"
else
echo "$(date): Ошибка загрузки файла" >&2
exit 1
fi
Сделайте скрипт исполняемым:
chmod +x upload_to_mega.sh
Для автоматизации шифрования создайте файл с паролем:
echo "ВашСложныйПароль" > /home/user/.gpg_passphrase
chmod 600 /home/user/.gpg_passphrase
Важно: Храните этот файл в надежном месте с ограниченными правами доступа.
Чтобы скрипт запускался автоматически, добавим его в расписание cron.
Откройте редактор crontab:
crontab -e
Добавьте строку, чтобы запускать скрипт, например, каждый день в 2 часа ночи:
0 2 * * * /home/user/upload_to_mega.sh >> /home/user/upload_to_mega.log 2>&1
В этой статье мы рассмотрели, как:
Это позволит вам надежно и безопасно автоматизировать резервное копирование важных данных в облако Mega.nz.
Вы должны авторизоваться, чтобы оставлять комментарии.
Комментарии ()