Files
cloudpanel-backup/README.md
2025-12-18 16:15:47 +01:00

2.0 KiB

Script di Backup MySQL e htdocs

Script bash per eseguire il backup automatico di un database MySQL e della cartella del sito web.

Avvio rapido

git clone https://git.pyconetwork.it/francesco/cloudpanel-backup.git && cd cloudpanel-backup && chmod +x *.sh && ./init.sh

Configurazione

  1. Esegui lo script di inizializzazione:

    chmod +x init.sh
    ./init.sh
    
  2. Lo script ti chiederà:

    • Nome utente
    • Host del database (default: localhost)
    • Nome del database
    • Utente del database (default: nome del database)
    • Password del database
  3. Il file .secret.UTENTE verrà creato automaticamente con le credenziali fornite.

  4. (Opzionale) Modifica il file per configurare Gotify e upload remoto:

    nano .secret.UTENTE
    
  5. Rendi eseguibile lo script di backup:

    chmod +x backup.sh
    

Utilizzo

Esegui lo script specificando utente e dominio:

./backup.sh utente dominio

Esempio:

./backup.sh myuser esempio.com

Configurazione su Webmin/Cron

  1. Scarica il progetto:

    cd /home/_UTENTE_/
    git clone https://git.pyconetwork.it/francesco/cloudpanel-backup.git
    cd cloudpanel-backup
    
  2. Configura con init.sh:

    chmod +x init.sh
    ./init.sh
    chmod +x backup.sh
    
  3. Su cron manager inserisci:

    /home/UTENTE/cloudpanel-backup/backup.sh UTENTE dominio.com
    

Funzionalità

  1. Esegue il dump del database MySQL specificato
  2. Copia la cartella /home/UTENTE/htdocs/DOMINIO
  3. Crea un archivio ZIP contenente database e file del sito
  4. (Opzionale) Trasferisce il backup su server remoto
  5. (Opzionale) Invia notifiche via Gotify
  6. Pulisce i file temporanei
  7. Il file ZIP ha il formato: backup_DOMINIO_YYYYMMDD_HHMMSS.zip

Note di sicurezza

  • Il file .secret.UTENTE contiene credenziali sensibili
  • Assicurati che abbia permessi appropriati: chmod 600 .secret.*
  • Non versionare i file .secret.* su repository pubblici
  • Sono già inclusi nel .gitignore