[Risolto] Crontab backup con rsync

Installazione, configurazione e uso di Ubuntu come server: web, ftp, mail, news, proxy, dns e altro.
Avatar utente
andrew_de_moray
Prode Principiante
Messaggi: 95
Iscrizione: lunedì 1 gennaio 2007, 22:48

[Risolto] Crontab backup con rsync

Messaggio da andrew_de_moray »

Ciao a tutti
Ho creato un job su crontab:
47 10 * * * rsync -av --delete /var/www/html /var/www/BackupMySql/$(date +%Y%m%d_%H%M%S)

Il problema è che non va.

L'istruzione lanciata da terminale funziona correttamente.
Devo usare sintassi particolari in crontab?

grazie
Ultima modifica di andrew_de_moray il mercoledì 19 ottobre 2016, 17:17, modificato 1 volta in totale.
Avatar utente
DoctorStrange
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2872
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
Sesso: Maschile
Località: Roma, Italia

Re: Crontab backup con rsync

Messaggio da DoctorStrange »

Di solito crontab lascia dei log ogni volta che viene invocato, vai dentro /var/log a vedere se ci sono log specifici di crontab stesso, altrimenti prova a vedere il contenuto di syslog e li ci dovrebbe comunque essere qualche indicazione.

Controlla bene anche che funzioni apache.
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 12949
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: Crontab backup con rsync

Messaggio da thece »

:ciao:

probabilmente è una questione di path. Aggiungi al comando rsync il suo path assoluto

Codice: Seleziona tutto

47 10 * * * /usr/bin/rsync -av --delete /var/www/html /var/www/BackupMySql/$(date +%Y%m%d_%H%M%S)
Avatar utente
andrew_de_moray
Prode Principiante
Messaggi: 95
Iscrizione: lunedì 1 gennaio 2007, 22:48

Re: Crontab backup con rsync

Messaggio da andrew_de_moray »

MI dice questo:

Oct 19 10:05:01 US01 CRON[1379]: (root) CMD (rsync -av --delete /var/www/html /var/www/BackupMySql/$(date +)
Oct 19 10:05:01 US01 CRON[1378]: (CRON) info (No MTA installed, discarding output)
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 12949
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: Crontab backup con rsync

Messaggio da thece »

Prova così

Codice: Seleziona tutto

47 10 * * * /usr/bin/rsync -av --delete /var/www/html /var/www/BackupMySql/$(/bin/date +%Y%m%d_%H%M%S)
Se non hai voglia di specificare sempre i path assoluti dei comandi nel file di crontab reimposta la variabile di ambiente PATH.
Avatar utente
andrew_de_moray
Prode Principiante
Messaggi: 95
Iscrizione: lunedì 1 gennaio 2007, 22:48

Re: Crontab backup con rsync

Messaggio da andrew_de_moray »

Con
13 12 * * * /usr/bin/rsync -av --delete /var/www/html /var/www/BackupMySql/$(date +%Y%m%d_%H%M%S)>/dev/null 2>&1

Stessa cosa
Da riga di comando funziona sempre
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 12949
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: Crontab backup con rsync

Messaggio da thece »

Sembra che il problema sia l'utilizzo del comando date all'interno dello scheduler di cron.
Di tutte le soluzioni trovate in Rete l'unica funzionante mi sembra essere richiamare allo scheduler di cron uno script che al suo interno fa quel che dovrebbe fare il comando che vorresti inserire nello scheduler di cron.

Quindi, nello scheduler di cron avresti

Codice: Seleziona tutto

* * * * * /PATH/aScript.sh
mentre nello script /PATH/aScript.sh

Codice: Seleziona tutto

#!/bin/bash
rsync -av --delete /var/www/html /var/www/BackupMySql/$(date +%Y%m%d_%H%M%S)
exit 0
Avatar utente
andrew_de_moray
Prode Principiante
Messaggi: 95
Iscrizione: lunedì 1 gennaio 2007, 22:48

Re: Crontab backup con rsync

Messaggio da andrew_de_moray »

thece [url=http://forum.ubuntu-it.org/viewtopic.php?p=4926534#p4926534][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Sembra che il problema sia l'utilizzo del comando date all'interno dello scheduler di cron.
Di tutte le soluzioni trovate in Rete l'unica funzionante mi sembra essere richiamare allo scheduler di cron uno script che al suo interno fa quel che dovrebbe fare il comando che vorresti inserire nello scheduler di cron.

Quindi, nello scheduler di cron avresti

Codice: Seleziona tutto

* * * * * /PATH/aScript.sh
mentre nello script /PATH/aScript.sh

Codice: Seleziona tutto

#!/bin/bash
rsync -av --delete /var/www/html /var/www/BackupMySql/$(date +%Y%m%d_%H%M%S)
exit 0

Ottimo così funziona.

Grazie
Scrivi risposta

Ritorna a “Ubuntu su server”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 8 ospiti