Problemi con script presente nella guide (Backup_di_MySQL)

Discussioni relative alla Gestione del wiki Guide@Debianizzati.Org
Selky
Global Moderator
Global Moderator
Messaggi: 1609
Iscritto il: 30/12/2011, 1:00

Re: Problemi con script presente nella guide (Backup_di_MySQ

Messaggio da Selky »

Tra l'altro mi sono accorta che ferdy ha inserito lo script prima di quello che io ho considerato l'autore originale, almeno stando alle date del wiki e di git. Quindi non so di chi sia in realtà.
Purtroppo ho già modificato, appena avete notizie, ricorreggo tutto così non appesantisco troppo le pagine.

Virgolette e apici li ho modificati provando nel mio editor, uso geany, e dovrebbero essere ok. Fammi sapere visto che non ho modo ora di testare lo script.
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 6079
Iscritto il: 22/08/2011, 18:54

Re: Problemi con script presente nella guide (Backup_di_MySQ

Messaggio da marcomg »

Selky ha scritto:Virgolette e apici li ho modificati provando nel mio editor, uso geany, e dovrebbero essere ok. Fammi sapere visto che non ho modo ora di testare lo script.
Sintatticamente si, sono ok, ma credo l'errore sia semantico: ho paura che lo script canni i nomi del file in questo modo. Ora non ho una installazione di mysql su cui provare. Ultimamente sono un po' impicciato :(
L'autore sì, dovrebbe essere ferdy. ;)
~ Marco
Selky
Global Moderator
Global Moderator
Messaggi: 1609
Iscritto il: 30/12/2011, 1:00

Re: Problemi con script presente nella guide (Backup_di_MySQ

Messaggio da Selky »

Per educazione tolgo i link che ho inserito ;)

Comunque ferdy ha inserito lo script in data 06 marzo 2011
il git riporta 04 agosto 2011 ma il medesimo autore l'ha postato sul suo sito in data 24 novembre 2010 https://www.debian-tutorials.com/simple ... ed-version

Forse alla fine non avevo sbagliato i riferimenti ???
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 6079
Iscritto il: 22/08/2011, 18:54

Re: Problemi con script presente nella guide (Backup_di_MySQ

Messaggio da marcomg »

Codice: Seleziona tutto

#!/bin/bash
#Simple mySQL backup script for cron – updated version

# Modify the following to suit your environment
export DB_BACKUP="/home/vage/BACKUP-SERVER/DATABASES"
export DB_USER="root"
export DB_PASSWD="la-mia-password"
export DATE="`date +"%d%b"`"
export MYSQL="/usr/bin/mysql"
export MYSQLDUMP="/usr/bin/mysqldump"

# Backup part
echo "mySQL_backup"
echo "———————-"
echo "* Rotating backups…"
rm -rf $DB_BACKUP/04
mv $DB_BACKUP/03 $DB_BACKUP/04
mv $DB_BACKUP/02 $DB_BACKUP/03
mv $DB_BACKUP/01 $DB_BACKUP/02
mkdir $DB_BACKUP/01
cd $DB_BACKUP/ && cd $DB_BACKUP/01
$MYSQL -u $DB_USER –password=$DB_PASSWD -Bse 'show databases' | while read m; \
do $MYSQLDUMP -u $DB_USER –password=$DB_PASSWD `echo $m` > `echo $m`.sql;done
bzip2 *sql

echo "* Creating new backup…"
echo "Backup done! `date`" > /tmp/my_report.log

# You can set the script to send you mail when backup it’s finished.
mail -s "MySql Backup report" you@yourmail.com < /tmp/my_report.log
echo "----------------------"
echo "Done"
exit 0
Per me dovrebbe funzionare così. Però non lo ho provato.
~ Marco
Selky
Global Moderator
Global Moderator
Messaggi: 1609
Iscritto il: 30/12/2011, 1:00

Re: Problemi con script presente nella guide (Backup_di_MySQ

Messaggio da Selky »

Marco hai rimesso gli apici originali.
Voluto o no?

Magari prendi quello del wiki per le modifiche. Apici e virgolette (solo queste) dovrebbero essere ok ora.

Edit:
qualcuno è intervenuto nello script con alcune modifiche: https://github.com/scorpio2k2/Simple-Ro ... /1/commits
Repo con file completo: https://github.com/pmadridb/Simple-Rota ... t-for-cron

Con gli apici non ci sto capendo più nulla :-[
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 6079
Iscritto il: 22/08/2011, 18:54

Re: Problemi con script presente nella guide (Backup_di_MySQ

Messaggio da marcomg »

Selky ha scritto:Con gli apici non ci sto capendo più nulla :-[
In bash ci sono 3 apici:
doppio In questo vengono interpretate la variabili
singolo Non vengono interpretate le variabili
inverso Il comando viene eseguito subito e l'output sostituito con il contenuto. Ho rimesso quasi tutti gli apici:
Notare anche che i caratteri

Codice: Seleziona tutto

‘ e `
sono diversi: ‘ e ` (stessi caratteri nel code con differente font).
~ Marco
Ombra
wiki member
wiki member
Messaggi: 476
Iscritto il: 11/08/2007, 18:06
Località: Bologna

Re: Problemi con script presente nella guide (Backup_di_MySQ

Messaggio da Ombra »

Io avrei mysql e qualche database per fare test (mediawiki principalmente), lo script non mi funziona ma non sono sicuro se è un problema del codice o piuttosto di permessi nella mia installazione: lo script dovrebbe usare la root di mysql (quindi backuppando tutti i database) o un normale utente ( quindi backup solo di alcuni database)?
perchè a me nel caso della root non riesce il login e ovviamante poi lo script non funziona..
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 6079
Iscritto il: 22/08/2011, 18:54

Re: Problemi con script presente nella guide (Backup_di_MySQ

Messaggio da marcomg »

Allora lo script dovrebbe funzionare con tutti gli utenti, fa il backup di tutti i db che l'utente in questione ha accesso. Puoi riprovare con lo script (viewtopic.php?f=25&t=52889&p=206325#p206270) ho fatto una piccola modifica (errore di distrazione)...
~ Marco
Ombra
wiki member
wiki member
Messaggi: 476
Iscritto il: 11/08/2007, 18:06
Località: Bologna

Re: Problemi con script presente nella guide (Backup_di_MySQ

Messaggio da Ombra »

a me da errore, sia con root che con altri user, però non son sicuro se è un problema solo mio o dello script

Codice: Seleziona tutto

$ bash scriptbkp.sh 
mySQL_backup
———————-
* Rotating backups…
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
bzip2: Can't open input file *sql: No such file or directory.
* Creating new backup…
----------------------
Done
come se non fornissi la password, cosa che ovviamente non è. Ad esempio se eseguo con le stesse credenziali il comando direttamente da una console invece che tramite lo script il comando funziona

Codice: Seleziona tutto

$ mysql -u root -prpassword -Bse 'show databases'
Warning: Using a password on the command line interface can be insecure.
information_schema
amarokdb
dbxprove
lpdb
my_wiki
mysql
performance_schema
test
wikidb
wikidb2
wordpress
come detto può darsi che questo problema sia relativo alla mia installazione (che no è standard), meglio aspettare qualcun altro che testi. Cmq lo script originale a parte qusto errore dava un sacco di altri errori che ora non ho più percui secondo me a livello di apici la sintassi è stata corretta
Selky
Global Moderator
Global Moderator
Messaggi: 1609
Iscritto il: 30/12/2011, 1:00

Re: Problemi con script presente nella guide (Backup_di_MySQ

Messaggio da Selky »

Grazie Marco per la spiegazione, ora ho le idee più chiare :)
danjde
Jr. Member
Jr. Member
Messaggi: 81
Iscritto il: 06/09/2016, 11:59
Località: Verona
Contatta:

Re: Problemi con script presente nella guide (Backup_di_MySQ

Messaggio da danjde »

..ho testato con le modifiche proposte da @marcomg ma non cambia di una ...virgola :-)

..che sia il caso di "spubblicare" tale script dalle guide finché non è certo l suo corretto funzionamento?
cosmogoniA
n o p r o v a r e n o f a r e o n o n f a r e n o n c e p r o v a r e
Ombra
wiki member
wiki member
Messaggi: 476
Iscritto il: 11/08/2007, 18:06
Località: Bologna

Re: Problemi con script presente nella guide (Backup_di_MySQ

Messaggio da Ombra »

Ciao,

Codice: Seleziona tutto

ho testato con le modifiche proposte da @marcomg ma non cambia di una ...virgola :-)
potresti postare l'errore che ottineni eseguendo lo script?
eventualmente se l'uotput è troppo lungo usa un servizio esterno tipo pastebin o simili e metti qui il link.
Grazie :)
danjde
Jr. Member
Jr. Member
Messaggi: 81
Iscritto il: 06/09/2016, 11:59
Località: Verona
Contatta:

Re: Problemi con script presente nella guide (Backup_di_MySQ

Messaggio da danjde »

Ho trovato questo script (che assomiglia molto a quello pubblicato da voi) che (invece) funziona: http://www.2daygeek.com/shell-script-fo ... utomation/

:-)
cosmogoniA
n o p r o v a r e n o f a r e o n o n f a r e n o n c e p r o v a r e
Selky
Global Moderator
Global Moderator
Messaggi: 1609
Iscritto il: 30/12/2011, 1:00

Re: Problemi con script presente nella guide (Backup_di_MySQ

Messaggio da Selky »

Penso (da ignorante) che lo script funzionasse sino ad una certa versione, infatti ha la sua età.
Nei link git che ho proposto, è chiaramente dichiarato che a maggio 2016 sono stati effettuati dei commit per correggere caratteri e fissare alcuni parametri MYSql.
Esempio:
script marco:

Codice: Seleziona tutto

#!/bin/bash
#Simple mySQL backup script for cron – updated version

# Modify the following to suit your environment
export DB_BACKUP="/home/vage/BACKUP-SERVER/DATABASES"
export DB_USER="root"
export DB_PASSWD="la-mia-password"
export DATE="`date +"%d%b"`"
export MYSQL="/usr/bin/mysql"
export MYSQLDUMP="/usr/bin/mysqldump"

# Backup part
echo "mySQL_backup"
echo "———————-"
echo "* Rotating backups…"
rm -rf $DB_BACKUP/04
mv $DB_BACKUP/03 $DB_BACKUP/04
mv $DB_BACKUP/02 $DB_BACKUP/03
mv $DB_BACKUP/01 $DB_BACKUP/02
mkdir $DB_BACKUP/01
cd $DB_BACKUP/ && cd $DB_BACKUP/01
$MYSQL -u $DB_USER –password=$DB_PASSWD -Bse 'show databases' | while read m; \
do $MYSQLDUMP -u $DB_USER –password=$DB_PASSWD `echo $m` > `echo $m`.sql;done
bzip2 *sql

echo "* Creating new backup…"
echo "Backup done! `date`" > /tmp/my_report.log

# You can set the script to send you mail when backup it’s finished.
mail -s "MySql Backup report" you@yourmail.com < /tmp/my_report.log
echo "----------------------"
echo "Done"
exit 0
script originale aggiornato git:

Codice: Seleziona tutto

#!/bin/bash
    #Simple mySQL backup script for cron – updated version

    # Modify the following to suit your environment
    export DB_BACKUP="/home/user/mysql_backup"
    export DB_USER="root"
    export DB_PASSWD="***********"
    export DATE="'date +"%d%b"'"
    export MYSQL="/usr/bin/mysql"
    export MYSQLDUMP="/usr/bin/mysqldump"

    # Backup part
    echo "mySQL_backup"
    echo "———————-"
    echo "* Rotating backups…"
    rm -rf $DB_BACKUP/04
    mv $DB_BACKUP/03 $DB_BACKUP/04
    mv $DB_BACKUP/02 $DB_BACKUP/03
    mv $DB_BACKUP/01 $DB_BACKUP/02
    mkdir $DB_BACKUP/01

    cd $DB_BACKUP/ && cd $DB_BACKUP/01
    $MYSQL -u$DB_USER -p$DB_PASSWD -Bse "show databases" |while read m; \
    do $MYSQLDUMP -u$DB_USER -p$DB_PASSWD `echo $m` > `echo $m`.sql;done
    bzip2 *sql

    echo "* Creating new backup…"
    echo "Backup done! `date`" > /tmp/my_report.log

    # You can set the script to send you mail when backup it’s finished.
    mail -s "MySql Backup report" you@yourmail.com < /tmp/my_report.log
    echo "----------------------"
    echo "Done"
    exit 0
script corretto da me stando alle tue indicazioni:

Codice: Seleziona tutto

#!/bin/bash
#Simple mySQL backup script for cron – updated version

# Modify the following to suit your environment
export DB_BACKUP="/home/user/mysql_backup"
export DB_USER="root"
export DB_PASSWD="***********"
export DATE="'date +”%d%b"'"
export MYSQL="/usr/bin/mysql"
export MYSQLDUMP="/usr/bin/mysqldump"

# Backup part
echo "mySQL_backup"
echo "———————-"
echo "* Rotating backups…"
rm -rf $DB_BACKUP/04
mv $DB_BACKUP/03 $DB_BACKUP/04
mv $DB_BACKUP/02 $DB_BACKUP/03
mv $DB_BACKUP/01 $DB_BACKUP/02
mkdir $DB_BACKUP/01
cd $DB_BACKUP/ && cd $DB_BACKUP/01
$MYSQL -u $DB_USER –password=$DB_PASSWD -Bse 'show databases' |while read m; \
do $MYSQLDUMP -u $DB_USER –password=$DB_PASSWD 'echo $m' > 'echo $m'.sql;done
bzip2 *sql

echo "* Creating new backup…"
echo "Backup done! 'date'" > /tmp/my_report.log

# You can set the script to send you mail when backup it’s finished.
mail -s "MySql Backup report" you@yourmail.com < /tmp/my_report.log
echo "----------------------"
echo "Done"
exit 0
Nella guida ho inserito il codice correggendo apici, ecc... come te (danjde) avevi dichiarato funzionare viewtopic.php?f=25&t=52889&sid=69a5a705 ... f8#p206256
danjde ha scritto: SCRIPT CON APICI CORRETTI:
, è diverso da quello proposto da marcomg e da quel momento non l'ho più toccato in attesa di conferme, oltre alla tua, e di soluzione.
Ora lo tolgo dalla guida, visto che pare non funzionare ed è inutile tenerlo lì così.
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 6079
Iscritto il: 22/08/2011, 18:54

Re: Problemi con script presente nella guide (Backup_di_MySQ

Messaggio da marcomg »

Codice: Seleziona tutto

#!/bin/bash
#Simple mySQL backup script for cron – updated version

# Modify the following to suit your environment
export DB_BACKUP="/home/mio/percorso"
export DB_USER="root"
export DB_PASSWD="mia-password"
export DATE="`date +"%d%b"`"
export MYSQL="/usr/bin/mysql"
export MYSQLDUMP="/usr/bin/mysqldump"

# Backup part
echo "mySQL_backup"
echo "———————-"
echo "* Rotating backups…"
rm -rf $DB_BACKUP/04
mv $DB_BACKUP/03 $DB_BACKUP/04
mv $DB_BACKUP/02 $DB_BACKUP/03
mv $DB_BACKUP/01 $DB_BACKUP/02
mkdir $DB_BACKUP/01
cd $DB_BACKUP/ && cd $DB_BACKUP/01
$MYSQL -u $DB_USER -p$DB_PASSWD -Bse 'show databases' | while read m; \
do if [ $m != "mysql: [Warning] Using a password on the command line interface can be insecure." ]; then $MYSQLDUMP -u $DB_USER -p$DB_PASSWD `echo $m` > `echo $m`.sql; fi; done
bzip2 *sql

echo "* Creating new backup…"
echo "Backup done! `date`" > /tmp/my_report.log

# You can set the script to send you mail when backup it’s finished.
mail -s "MySql Backup report" you@yourmail.com < /tmp/my_report.log
echo "----------------------"
echo "Done"
exit 0
Ho installato mysql, ho fatto modifiche e questo funziona. Bisognerebbe fare altre modifiche per passare la password come stdin e non in riga di comando per togliere quel fastidioso errore. Se ho tempo lo faccio ;)
~ Marco
Rispondi