script backup database non funzionante con cron

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
hunte88
Prode Principiante
Messaggi: 95
Iscrizione: martedì 5 agosto 2008, 1:09

script backup database non funzionante con cron

Messaggio da hunte88 »

Ciao a tutti,

ho creato uno script sh (per prova) per effettuare il backup di un database mysql.

Lo script è il seguente:

Codice: Seleziona tutto

#!/bin/bash
FILE=minime.sql.`date +%Y-%m-%d-%H-%M-%S`
DBSERVER=127.0.0.1
DATABASE=Universita
USER=utente
PASS=password

mysqldump --opt --user=${USER} --password=${PASS} ${DATABASE} > ${FILE}

gzip /home/mioutente/Scrivania/$FILE

echo "/home/mioutente/Scrivania/${FILE}.gz was created:"

ls -l /home/mioutente/Scrivania/${FILE}.gz
Se lancio lo script da terminale posizionandomi nella cartella dove si trova lo script (e cioè in /home/mioutente/Scrivania) do il seguente comando ./backup_sql_script.sh

Lo script viene eseguito manualmente da terminale funziona e come output viene prodotto sulla Scrivania un file zippato contenente il file testuale di backup di mysql.

Se imposto cron con il comando crontab -e come nel seguente esempio non viene eseguito nulla:

Codice: Seleziona tutto

08 20 * * * /home/raffaele/Scrivania/backup_sql_script.sh>>provalog.log
Questo è ciò che proviene da syslog dopo aver impostato l'ora di esecuzione e dopo aver riavviato il servizio di cron e ovviamente dopo aver passato l'orario di esecuzione.

Codice: Seleziona tutto

Mar 17 20:08:01 lenovo-pc CRON[3375]: (mioutente) CMD (/home/mioutente/Scrivania/backup_sql_script.sh>>provalog.log)
Mar 17 20:08:01 lenovo-pc CRON[3374]: (CRON) info (No MTA installed, discarding output)
Nel file di log per vedere il comportamento dello script viene stampata la seguente stringa:

Codice: Seleziona tutto

/home/mioutente/Scrivania/minime.sql.2016-03-16-03-16-01.gz was created:
Questo log mi viene creato nella posizione /home e non in /home/mioutente/Scrivania...anche questo credo sia anormale e comunque manca il file zippato sulla scrivania contenente il file di testo del backup del database. Il file di testo di backup mi viene creato inaspettatamente nella posizione /home (me ne sono accorto poi per caso).
Lo script ha i tutti i permessi, lettura, scrittura ed esecuzione.

Premetto che quello script l'ho preso da una guida su internet dove spiegavano come fare il backup manuale di mysql.

Qualcuno sa indicarmi come mai cron non esegue esattamente lo script come se lo lanciassi manualmente da terminale ?
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: script backup database non funzionante con cron

Messaggio da crap0101 »

usa percorsi assoluti, non presumere che venga eseguito nel pwd che vorresti.
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Avatar utente
steff
Moderatore Globale
Moderatore Globale
Messaggi: 40301
Iscrizione: domenica 18 febbraio 2007, 19:48
Desktop: LXQt+labwc
Distribuzione: Arch; Debian; Ubuntu Server
Sesso: Maschile
Località: Toscana
Contatti:

Re: script backup database non funzionante con cron

Messaggio da steff »

Penso che non può funzionare un comando composto da shell nel crontab:

Codice: Seleziona tutto

/home/raffaele/Scrivania/backup_sql_script.sh >> provalog.log

se vuoi il log dovresti farlo nello script o fare due script.
Hai fatto un backup oggi? Ieri?? Quando???
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: script backup database non funzionante con cron

Messaggio da crap0101 »

steff [url=http://forum.ubuntu-it.org/viewtopic.php?p=4864222#p4864222][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Penso che non può funzionare un comando composto da shell nel crontab:

Codice: Seleziona tutto

/home/raffaele/Scrivania/backup_sql_script.sh >> provalog.log

se vuoi il log dovresti farlo nello script o fare due script.
no, quello va bene
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
hunte88
Prode Principiante
Messaggi: 95
Iscrizione: martedì 5 agosto 2008, 1:09

Re: script backup database non funzionante con cron

Messaggio da hunte88 »

steff [url=http://forum.ubuntu-it.org/viewtopic.php?p=4864222#p4864222][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Penso che non può funzionare un comando composto da shell nel crontab:

Codice: Seleziona tutto

/home/raffaele/Scrivania/backup_sql_script.sh >> provalog.log

se vuoi il log dovresti farlo nello script o fare due script.
Si avevo letto che alcuni consigliavano di fare così, però il punto è che se per caso dovessi fare uno script che contiene un papiro di codice viene uno schifo se lo implemento direttamente in cron. Eppure dovrebbe essere una cavolata...
La cosa strana è che alla fin fine lo script sembra venire processato da cron ma in qualche punto non viene interpretato nel modo giusto.
Ciao come faccio a capire quale sia il percorso assoluto nel mio caso ?

e comunque grazie mille.
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: script backup database non funzionante con cron

Messaggio da crap0101 »

hai usato percorsi assoluti come ti dicevo?
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
hunte88
Prode Principiante
Messaggi: 95
Iscrizione: martedì 5 agosto 2008, 1:09

Re: script backup database non funzionante con cron

Messaggio da hunte88 »

Perdonami ma non ho ben capito cosa intendi con percorso assoluto, questo /home/raffaele/Scrivania/backup_sql_script.sh non è un percorso assoluto ?
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: script backup database non funzionante con cron

Messaggio da crap0101 »

sì, ma devi usarlo anche quando crei $FILE, che al momento viene creato nella directory corrente (che non è la scrivania) in cui viene eseguito lo script (generalmente la home, come hai notato).
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 20 ospiti