Skip to content

remz1337/Backup2Azure

Repository files navigation

Backup2Azure

Small script to upload a set of files to Azure Blob Storage (using the Azure CLI). Storage tier can be configured. Tested with Debian and Ubuntu

By default, this will look for Proxmox LXC/VM backups (vzdump*.zst) and PVE host config backups (pve-host*.zst) and upload to your Azure storage container every 3 months. It will not overwrite already uploaded backups. Setting up a retention policy in your container is recommended (eg. 1 year)

Requirements

  • An active Azure account
    • Create a storage account
      • Create a container (where the files will be uploaded)

Setup

  1. Download and extract the repo
  2. Run install_deps.sh
  3. Run install.sh
  4. Configure /etc/Backup2Azure/backup2azure.conf
    • account_name --> Azure storage account name
    • container_name --> Azure storage container name
    • search_dir --> local directory containing the files to upload (can be a mounted directory)
    • tier --> Azure storage tier to use (ARCHIVE, COLD or HOT)
  5. Run CreateServicePrincipal.sh <YourAzureSubscriptionId> <YourAzureStorageResourceGroup> to create a service principal that the script will use to authenticate. The script logs you in interactively, creates the SP, and writes sp_app_id, sp_password, and sp_tenant_id into /etc/Backup2Azure/backup2azure.conf automatically.

Renewing the service principal secret

Service principal client secrets expire (typically after 1–2 years). When AzUpload.sh fails with AADSTS7000222: The provided client secret keys for app ... are expired, run RenewServicePrincipal.sh on the host. It will:

  1. Prompt you to log in interactively with az login.
  2. Reset the SP credential for another 2 years.
  3. Back up the existing config to /etc/Backup2Azure/backup2azure.conf.bak and update sp_password in place.

About

Small script to upload a set of files to Azure Blob Storage. Storage tier can be configured.

Resources

License

Stars

2 stars

Watchers

2 watching

Forks

Packages

 
 
 

Contributors

Languages