Daglig komprimeret backup af /var/www/html med automatisk oprydning
Definerer SOURCE_DIR, BACKUP_DIR, tidsstempel til filnavn og logfil-sti. Retention er sat til 30 dage.
Verificerer at /var/www/html eksisterer. Hvis ikke, logges fejl og scriptet afslutter med exit 1.
Opretter /data/backup med mkdir -p hvis den ikke allerede findes.
Komprimerer /var/www/html til én .tar.gz-fil med tidsstempel i filnavnet, f.eks. www_backup_20250222_120000.tar.gz.
Tjekker PIPESTATUS[0] (tar's exit-kode) og at filen faktisk er oprettet. Fejl → log + exit 1.
chmod 640 på backup-filen — læsbar af ejer og gruppe, men ikke andre.
Finder og sletter alle www_backup_*.tar.gz-filer ældre end 30 dage. Logger antal slettede filer.
Tæller tilbageværende backups og beregner samlet diskforbrug med du -sh. Alt logges til www_backup.log.
| Variable | Beskrivelse |
|---|---|
| SOURCE_DIR | Mappe der tages backup af (/var/www/html) |
| BACKUP_DIR | Destination for backup-filer (/data/backup) |
| RETENTION_DAYS | Antal dage backups gemmes (default: 30) |
| LOG_FILE | Sti til logfil |
| TIMESTAMP | Dato/tid-streng i filnavn (%Y%m%d_%H%M%S) |
Hvert backup-fil navngives:
timestamp = ÅÅÅÅmmdd_HHMMSS
Backup-filer sættes til chmod 640:
Ejer læse + skrive
Gruppe kun læse
Andre ingen adgang