@page @model PlanTempusAdmin.Pages.Setup.ScriptsModel @{ ViewData["Title"] = "Backup Scripts"; }
Bash scripts til Forgejo repository backup
@Model.BashScript
# Forgejo Repository Backup Configuration
# Sti til Forgejo repositories
FORGEJO_REPO_PATH=/var/lib/forgejo/data/forgejo-repositories
# Midlertidig mappe til backup filer
BACKUP_TEMP_DIR=/tmp/forgejo-backups
# PostgreSQL database konfiguration
BACKUP_DB_HOST=192.168.1.43
BACKUP_DB_PORT=5432
BACKUP_DB_NAME=ptadmin
BACKUP_DB_USER=plantempus_app
BACKUP_DB_PASSWORD=your_secure_password_here
# Azure Blob Storage konfiguration
AZURE_STORAGE_ACCOUNT=storageptadmin
AZURE_STORAGE_KEY=your_storage_key_here
AZURE_STORAGE_CONTAINER=backups
AZURE_STORAGE_PATH=forgejo
# Antal dage backup gemmes
BACKUP_RETENTION_DAYS=30
Tilføj følgende linje til crontab (sudo crontab -e):
# Kører backup hver dag kl. 02:00
0 2 * * * /opt/backup/forgejo-backup.sh >> /var/log/forgejo-backup.log 2>&1
Installer Azure CLI på serveren:
# Installer Azure CLI (Ubuntu/Debian)
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
# Verificer installation
az --version
# Test forbindelse til storage account
az storage container list \
--account-name storageptadmin \
--account-key "YOUR_KEY_HERE" \
--output table
# Test upload
echo "test" > /tmp/test.txt
az storage blob upload \
--account-name storageptadmin \
--account-key "YOUR_KEY_HERE" \
--container-name backups \
--file /tmp/test.txt \
--name test/test.txt