PDA

Visualizza la versione completa : Backup mysql + zip + email


awialex
18-05-2006, 17:24
ciao a tutti

volevo creare un backup dei database creati
poi zippare il file
e spedirmelo per email

ho fatto una ricerca ed ho trovato solo qlc per fare il backup delle cartelle

oppure questo
$ echo ".dump" | sqlite3 mio.db > backup.sql[Invio]

(ps se avete un link in ita per il comando dump ve ne sarei grato)

ma se volessi farlo di tutti i database esistenti (compresi quelli che si creeranno successivamente)???
che estensione hanno gli script?
dove li posiziono?

ciao e grazie

awialex
18-05-2006, 18:46
allora con questo comando sono riuscito ad eseguire il backup e a zipparlo

mysqldump -u<nome utente> -p<password> <miodb> | gzip -c - <percorso>/backup/$(date +%Y_%m_%d)__miodb.sql.gz

ora quello che vorrei sapere e come spedirmi una email con allegato il file creato

seconda domanda
esiste un comando che mi lista tutti i db esisenti da poter caricare su array o creando un ciclo??

terza domanda
se faccio eseguire uno script a cront dove c'
mysqldump -u<nome utente> -p<password> <miodb1> | gzip -c - <percorso>/backup/$(date +%Y_%m_%d)__miodb1.sql.gz
mysqldump -u<nome utente> -p<password> <miodb2> | gzip -c - <percorso>/backup/$(date +%Y_%m_%d)__miodb2.sql.gz
<mandami una email> sequenza di comandi per la spedizione email

mi esegue prima i 2 backup e poi spedisce una email??

mondobimbi
18-05-2006, 18:59
il comando per vedere i db

mysql -u nome_utente -p << EOF
> show databases;
> EOF

poi lo reindirizzi per la lettura.
Provalo da console.

Per inviarti la mail il comanto proprio mail
ciao
sergio

awialex
18-05-2006, 19:19
Originariamente inviato da mondobimbi
il comando per vedere i db

mysql -u nome_utente -p << EOF
> show databases;
> EOF

poi lo reindirizzi per la lettura.
Provalo da console.

Per inviarti la mail il comanto proprio mail
ciao
sergio

il comando funge la domanda successiva e'
posso inserirlo in un array??

per le email ho trovato questo

cat | /usr/sbin/sendmail email di destinazione[Invio]

From: email di chi spedisce[Invio]

Subject: ciao ciao[Invio]

[Invio]

Ciao Tizio.[Invio]

Quanto tempo che non ci si sente![Invio]

[Ctrl+d]

ma il problema e' il ctrl+D e come faccio a mettere un allegato

tu parlavi del comando email
come si utilizza quali sono i parametri?
un link di aiuto??

ciao e grazie

mondobimbi
18-05-2006, 19:35
l'elenco dei db lo metti in un ciclo

non mi ricordo bene la sintassi, pi o meno

for each $db in (qui ci metti l'output) do
.....

per la funzione mail guarda
man mail che ti d tutti i chiarimenti
ciao sergio

awialex
18-05-2006, 19:45
Originariamente inviato da mondobimbi
l'elenco dei db lo metti in un ciclo

non mi ricordo bene la sintassi, pi o meno

for each $db in (qui ci metti l'output) do
.....

per la funzione mail guarda
man mail che ti d tutti i chiarimenti
ciao sergio

io ho fatto cosi'

mysql -uroot -pprotezione << EOF
> show databases;
for each $db in databases do
> EOF

mi visualizza i db ma poi mi da' questo errore

ERROR 1064 (42000) at line 2: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'for each in databases do' at line 1


man mail dove lo trovo su html??
e' una guida?


scusa un poco di pazienza

ancora grazie per il tuo tempo

mondobimbi
18-05-2006, 20:00
man mail lo devi digitare da console.
prova a dare il comando
$mail
gli stai chiedendo se hai ricevuto mail, invece con
$mail taldeitali@talposto.it
stai inviando una mail

per quanto riguarda lo script dovrei essere pi sicuro della sintassi.

questa parte del codice trai due EOF d semplicemente dei comandi a mysql
mysql -u root -p protezione << EOF
> show databases;
> EOF

ti devi fermare qui.

puoi anche creare un file
my.sql
con il testo
show databases;

e poi dare il comando

mysql -u root -p protezione < my.sql
stesso effetto di prima

poi qualcosa di simile, ma non sono sicuro
for each $db in (mysql -u root -p protezione < my.sql) do
......


scusa se non sono pi preciso
ciao
sergio

awialex
19-05-2006, 15:07
allora io ho provato questo comando

mail -iInv -s "Oggetto della mail 2" -c email1 -b email2

ma non arriva niente
hoprovato anche senza -iInv
ma non e' cambiato nulla

dove sbaglio secondo te???

ciao e grazie

awialex
22-05-2006, 11:59
up
:dh:

tojo72
22-05-2006, 18:56
interessa anke a me la cosa...

qualcuno sa come fare tutto questo con con un file php ke venga attivato da un cron job?

Loading