|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2001
Città: Malmö (Svezia) - Copenhagen
Messaggi: 962
|
[help] MySQL: backup di DB remoto
hola amigos,
per fare i backup in locale sul mio serverino casalingo utilizzo questo script: Codice:
#!/bin/sh # # MySQL database backup script # ##### CONFIG ################################################################### MYSQLUSER="root" MYSQLPW="`cat /etc/mysql/mysql.passwd`" # MySQL admin password MYSQLDB="/var/lib/mysql" # MySQL database directory BACKDIR="/var/backup/mysql" # Directory for backups MYSQLDMP="/usr/bin/mysqldump" # Location of dump binary DAYSKEEP="5" # Days to keep old backups ##### CODE ##################################################################### DATE=`date "+%Y-%m-%d"` cd ${MYSQLDB} mkdir -p ${BACKDIR} function dbbackup() { mkdir -p ${BACKDIR}/${1} BACKFILE=${BACKDIR}/${1}/${1}-${DATE}.dmp.bz2 ${MYSQLDMP} -u ${MYSQLUSER} --password=${MYSQLPW} ${1} | bzip2 > ${BACKFILE} } # For each directory run the backup for i in * ; do if test -d $i ; then dbbackup $i fi done # Delete old backups rm -f `find ${BACKDIR} -type f -mtime +${DAYSKEEP}` Il mio problema é che mi occupo di un sito su un server shared, dove non ho accesso shell né cron. Quello che vorrei fare é modificare lo script qui sopra, in modo da farlo connettere al server remoto mysql.dominio.com e farmi un backup settimanale del db Quando mi loggo a mysql.dominio.com alla mia username e passwd corrisponde un solo db, x cui non ci sarebbe nemmeno da selezionare il db, ma semplicemente dirgli di fare il backup del db che gli si presenta (e di cui in caso cmq ho anche il nome volendo) Il mio obiettivo é adattare lo script di cui sopra per fargli fare questa connessione dal mio serverino casalingo e salvare su di esso il backup del db remoto. Questo script verrebbe inserito in un cronjob sul mio server ed eseguito settimanalmente. Ora peró non ci capisco una ceppa di programmazione, anche se mi rendo conto che probabilmente non dovrebbe essere una cosa troppo difficile... qualcuno mi aiuta? Grassie ![]()
__________________
http://www.francescoinsvezia.net Il mio blog scandinavo! aka "La mia vita fra la gnokka" ![]() ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2001
Città: Malmö (Svezia) - Copenhagen
Messaggi: 962
|
help
![]()
__________________
http://www.francescoinsvezia.net Il mio blog scandinavo! aka "La mia vita fra la gnokka" ![]() ![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jun 2002
Messaggi: 442
|
se il server MySQL accetta connessioni per quell'utente anche da hostnames diversi da 127.0.0.1 e localhost puoi usare mysqldump --opt -h hostname -u utente -p password database e opzionalmente puoi aggiungere | gzip > nome.gz per avere la compressione gzip.
Altrimenti ci vuole una pagina PHP nel server. Questa se non c'e' safe_mode attivo dovrebbe andare. Codice:
<?PHP system(sprintf( 'mysqldump --opt -h %s -u %s -p%s %s | gzip > %s/backup-db.gz', localhost, tuouser, tuapass, database, getenv('DOCUMENT_ROOT') )); echo '+DONE'; ?> Per quanto riguarda poi spedirlo sul tuo PC, dovresti collegarti periodicamente all'ftp e fare il GET e il DELETE.
__________________
- Ultima modifica di Maestro : 21-01-2005 alle 14:34. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
|
Re: [help] MySQL: backup di DB remoto
non ho mai usato mysqdump o cose del genere... ma guardando la man di mysqldump, questo dovrebbe funzionare.... pero' provalo prima tu e poi provo io
![]() Ciao! Codice:
#!/bin/sh # # MySQL database backup script # ##### CONFIG ################################################################### MYDB="nome_del_mio_database" HOST="ip_mio_mysql_server" MYSQLUSER="utente_con_cui_ti_logghi_nel_db" MYSQLPW="`cat /etc/mysql/mysql.passwd`" # MySQL password dell'utente BACKDIR="/var/backup/mysql" # Directory for backups MYSQLDMP="/usr/bin/mysqldump" # Location of dump binary DAYSKEEP="5" # Days to keep old backups ##### CODE ##################################################################### DATE=`date "+%Y-%m-%d"` mkdir -p ${BACKDIR} function dbbackup() { mkdir -p ${BACKDIR}/${1} BACKFILE=${BACKDIR}/${1}/${1}-${DATE}.dmp.bz2 ${MYSQLDMP} --opt --host=${HOST} -u ${MYSQLUSER} --password=${MYSQLPW} ${1} | bzip2 > ${BACKFILE} } dbbackup $MYDB # Delete old backups rm -f `find ${BACKDIR} -type f -mtime +${DAYSKEEP}` EDIT: ovviamente funziona solamente se mysql accetta connessioni anche dal tuo ip.... EDIT2: ho corretto un po di boiate... EDIT3: ho aggiunto --opt
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++. HOWTO: SSH Firewall e DMZ ɐɹdosoʇʇos oʇuǝs ıɯ Ultima modifica di HexDEF6 : 21-01-2005 alle 15:05. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Nov 2001
Città: Malmö (Svezia) - Copenhagen
Messaggi: 962
|
Allora... intanto ti ringrazio x l´aiuto.
Il test con mysqldump funziona perfettamente... con questa sintassi: Codice:
mysqldump --opt -h mysql.domovanje.com -u <username> -p <nomedb> | gzip > nome.gz Codice:
mysqldump --opt -h mysql.domovanje.com -u <username> -p <password> <nomedb> | gzip > nome.gz A parte questo... é ottimo ![]() ![]()
__________________
http://www.francescoinsvezia.net Il mio blog scandinavo! aka "La mia vita fra la gnokka" ![]() ![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Nov 2001
Città: Malmö (Svezia) - Copenhagen
Messaggi: 962
|
azz... nel frattempo ha risposto anche Hex... che mi risparmia un mare di lavoro
![]() Adesso provo il tuo scriptino ![]()
__________________
http://www.francescoinsvezia.net Il mio blog scandinavo! aka "La mia vita fra la gnokka" ![]() ![]() |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
|
Quote:
Ciao!
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++. HOWTO: SSH Firewall e DMZ ɐɹdosoʇʇos oʇuǝs ıɯ |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Nov 2001
Città: Malmö (Svezia) - Copenhagen
Messaggi: 962
|
nono... testato or ora... funzica come un orologio svizzero
![]() ![]() Complimenti e grazie x l´aiuto ad entrambi ![]()
__________________
http://www.francescoinsvezia.net Il mio blog scandinavo! aka "La mia vita fra la gnokka" ![]() ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:18.