# 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 ```bash 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: ```bash 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: ```bash nano .secret.UTENTE ``` 5. Rendi eseguibile lo script di backup: ```bash chmod +x backup.sh ``` ## Utilizzo Esegui lo script specificando utente e dominio: ```bash ./backup.sh utente dominio ``` Esempio: ```bash ./backup.sh myuser esempio.com ``` ## Configurazione su Webmin/Cron 1. Scarica il progetto: ```bash cd /home/_UTENTE_/ git clone https://git.pyconetwork.it/francesco/cloudpanel-backup.git cd cloudpanel-backup ``` 2. Configura con init.sh: ```bash chmod +x init.sh ./init.sh chmod +x backup.sh ``` 3. Su cron manager inserisci: ```bash /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`