|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Script per backup automatico database
ciao ragazzi, sto cercando di far funzionare lo script per il backup automatico dei miei database.
ho fatto nel seguente modo Codice:
#!/bin/bash mysqldump -u***** -p****** –-opt ****** > /root/scriptDB/backupGiornaliero dt=`date +%y%m%d` tar cvf /root/backup/sqlbackup-$dt.tar /root/backup/* Codice:
chmod +x dailyBackup.sh poi ho aggiunto tutto al crontab Codice:
crontab -e 00 00 * * * root sh /root/scriptDB/dailyBackup.sh
__________________
My gaming placement |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2005
Messaggi: 395
|
Metti un export della variabile PATH prima di eseguire il mysqldump ed assicurati che la variabile contenga il puntamento agli eseguibili di mysql dove, appunto, si trova il comando sopracitato.
In ogni caso, se dovesse esserci ancora qualche rogna, digita il comando mail e guarda il sistema cosa ti ha segnalato in corrispondenza della schedulazione. Ciao |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2001
Città: Kendermore
Messaggi: 6679
|
Prova a lanciare manualmente lo script con l'utente con cui vuoi che giri (root).
Nel caso lancialo invocando la bash con il parametro di debug -x (bash -x /root/scriptDB/dailyBackup.sh) e se si rompe da qualche parte verifica bene gli eventuali errori. Se vuoi redirigere l'output verso un file di log fallo direttamente per tutto lo script e non solo per mysqldump, così com'è se dovesse andare storto qualcosa nella creazione del tar non te ne accorgeresti. Eventualmente puoi usare tee per loggare tutto e inviare anche una mail, es: Codice:
/root/scriptDB/dailyBackup.sh 2>&1 | tee -a /var/log/dailyBackup.log | mail -s "[BACKUP] MySQL Daily" [email protected] Infine se posso consigliare inserisci il controllo dell'exit status dei comandi presenti nello script, puoi definire una piccola funzione per inviare una mail di avviso solo se qualche comando termina con uno status diverso da 0, dai un'occhiata a questo ottimo howto.
__________________
https://tasslehoff.burrfoot.it | Cloud? Enough is enough! | SPID… grazie ma no grazie "Arguing that you don't care about the right to privacy because you have nothing to hide is no different than saying you don't care about free speech because you have nothing to say." Ultima modifica di Tasslehoff : 20-10-2014 alle 00:37. |
|
|
|
|
|
#4 | ||
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
Innanzitutto grazie ad entrambi per l'aiuto. Purtroppo sono un pò a secco in questo ambito, quindi sto leggendo guide in giro per far funzionare il tutto. allora ho provato ad eseguire lo script in debug come consigliavi ed in risultato è questo: Codice:
root@PW-APP:~/scriptsDB# bash -x dailyBackup.sh + mysqldump -u***** -p***** $'\342\200\223-opt' ****** dailyBackup.sh: line 3: /root/scriptDB/backupDatabase: No such file or directory ++ date +%y%m%d + dt=141020 + tar cvf /root/backup/sqlbackup-141020.tar '/root/backup/*' tar: /root/backup/sqlbackup-141020.tar: Cannot open: No such file or directory tar: Error is not recoverable: exiting now Quote:
__________________
My gaming placement Ultima modifica di franksisca : 20-10-2014 alle 10:07. |
||
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
allora ho aggiunto nel crontab i vari parametri per mandare la mail con allegato l'output del log
Codice:
00 00 * * * root sh /root/scriptDB/dailyBackup.sh 2>&1 | tee -a /var/log/dailyBackup.log | mail -s "[BACKUP] MySQL Daily" [email protected]
__________________
My gaming placement |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2001
Città: Kendermore
Messaggi: 6679
|
Devo correggere una vaccata che ho scritto nel mio precedente post a causa di fretta e distrazione.
mysqldump produce l'esatta sequenza di query da lanciare per ricreare il database ed eventualmente ripopolarlo con i dati (a seconda delle opzioni passate), quindi la redirezione dell'output non è un log ma il dump vero e proprio del database (in questo caso chiamato "backupGiornaliero". Tre suggerimenti:
Codice:
mysqldump -u***** -p****** –-opt ****** <DATABASE> | $(which gzip) -9 > /root/scriptDB/<DATABASE>.sql.$(date +"%Y%m%d%H%M%S").gz
__________________
https://tasslehoff.burrfoot.it | Cloud? Enough is enough! | SPID… grazie ma no grazie "Arguing that you don't care about the right to privacy because you have nothing to hide is no different than saying you don't care about free speech because you have nothing to say." |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
questi sono i permessi alla cartella
Codice:
drwxrwxrwx 2 root root 4096 Oct 20 10:42 scriptsDB/ e qesto è il contenuto del file dailyBackup Codice:
mysqldump -uuser -ppassword --opt nomeDB | $(which gzip) -9 > /root/scriptDB/nomeDB.sql.$(date +"%Y%m%d%H%M%S").gz tee -a /var/log/dailyBackup.log | mail -s "[Backup] database mysql nomeDB" [email protected] Codice:
root@PW-APP:~/scriptsDB# bash -x dailyBackup.sh + mysqldump -uuser -ppassword --opt nomeDB ++ which gzip + /bin/gzip -9 ++ date +%Y%m%d%H%M%S ++ date +%Y%m%d%H%M%S dailyBackup.sh: line 3: /root/scriptDB/nomeDB.sql.20141020120330.gz: No such file or directory mysqldump: Got errno 32 on write + tee -a /var/log/dailyBackup.log + mail -s '[Backup] database mysql nomeDB' [email protected]
__________________
My gaming placement |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
just for info
Codice:
root@PW-APP:~/scriptsDB# mysqldump -uuser -ppassword --opt nomeDB > /root/scriptDB/nomeDB.sql.$(date +"%Y%m%d%H%M%S") -bash: /root/scriptDB/nomeDB.sql.20141020121911: No such file or directory root@PW-APP:~/scriptsDB# mysqldump -uuser -ppassword --opt nomeDB > nomeDB.sql.$(date +"%Y%m%d%H%M%S") possibile che non becca l'indirizzamento nell'output del file???
__________________
My gaming placement |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jan 2005
Messaggi: 395
|
Ciao
Ma la cartella si chiama scriptDB o scriptsDB ?! Da una parte hai scritto al singolare, dall'altra al plurale. Dai un'occhiata. Ciao |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
ora me lo metto nel crontab e vedo se va
__________________
My gaming placement |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jan 2005
Messaggi: 395
|
Quote:
E infatti serve sempre l'intervento esterno per trovare l'inghippo. Almeno un migliaio di volte ci sarò caduto pure io ! |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:50.




















