64 lines
1.6 KiB
Markdown
64 lines
1.6 KiB
Markdown
# Script di Backup MySQL e htdocs
|
|
|
|
Script bash per eseguire il backup automatico di un database MySQL e della cartella del sito web.
|
|
|
|
## Configurazione
|
|
|
|
1. Crea il file `.secret` nella stessa cartella dello script:
|
|
```bash
|
|
cp .secret.example .secret
|
|
```
|
|
|
|
2. Modifica il file `.secret` con le tue credenziali:
|
|
```bash
|
|
DB_HOST=localhost
|
|
DB_NAME=nome_del_tuo_database
|
|
DB_USER=tuo_utente
|
|
DB_PASS=tua_password
|
|
```
|
|
|
|
3. Rendi eseguibile lo script:
|
|
```bash
|
|
chmod +x backup.sh
|
|
```
|
|
|
|
## Utilizzo
|
|
|
|
Esegui lo script specificando il dominio come parametro:
|
|
```bash
|
|
./backup.sh nome_dominio
|
|
```
|
|
|
|
Esempio:
|
|
```bash
|
|
./backup.sh esempio.com
|
|
```
|
|
|
|
## Cosa fa lo script
|
|
|
|
1. Accetta il dominio come parametro da riga di comando
|
|
2. Legge le credenziali dal file `.secret`
|
|
3. Esegue il dump del database MySQL specificato
|
|
4. Copia la cartella `/home/utente_DOMINIO/htdocs/DOMINIO`
|
|
5. Crea un archivio ZIP contenente:
|
|
- Dump del database (formato .sql)
|
|
- Copia completa della cartella htdocs
|
|
6. Il file ZIP finale ha il formato: `backup_DOMINIO_YYYYMMDD_HHMMSS.zip`
|
|
7. Pulisce i file temporanei
|
|
|
|
## Note di sicurezza
|
|
|
|
- Il file `.secret` contiene credenziali sensibili
|
|
- Assicurati che abbia permessi appropriati: `chmod 600 .secret`
|
|
- Non versionare il file `.secret` su repository pubblici
|
|
- Aggiungi `.secret` al tuo `.gitignore`
|
|
|
|
## Percorso delle cartelle
|
|
|
|
Lo script costruisce automaticamente il percorso basandosi sul dominio fornito:
|
|
- Utente: `utente_DOMINIO`
|
|
- Percorso: `/home/utente_DOMINIO/htdocs/DOMINIO`
|
|
|
|
Esempio per il dominio `esempio.com`:
|
|
- Percorso completo: `/home/utente_esempio.com/htdocs/esempio.com`
|