schedulazione [RISOLTO]

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

schedulazione [RISOLTO]

Messaggioda daddo » lunedì 11 giugno 2012, 18:41

Ciao, ho fatto uno script per eseguire il backup giornaliero su postgres,
se lancio lo script da riga di comando tutto ok, se invece provo ad inserirlo sul file di configurazione di crontab niente non parte
qualcuno può aiutarmi ?

grazie d
Ultima modifica di daddo il venerdì 22 giugno 2012, 18:43, modificato 1 volta in totale.
daddo Non specificato
Prode Principiante
 
Messaggi: 40
Iscrizione: gennaio 2011

Re: schedulazione

Messaggioda rpadovani » lunedì 11 giugno 2012, 18:55

In che senso l'hai inserito nel file di configurazione di crontab?
Hai creato un nuovo crontab come spiegato nella documentazione?
Avatar utente
rpadovani Maschile
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3289
Iscrizione: dicembre 2008
Località: Ferrara, Italia
Distribuzione: Ubuntu 14.10 x86_64
Desktop: Unity

Re: schedulazione

Messaggioda daddo » lunedì 11 giugno 2012, 19:17

esatto,
crontab -e
00 19 * * * utente /percorso/script.sh
salvo
verifico con contab -l
daddo Non specificato
Prode Principiante
 
Messaggi: 40
Iscrizione: gennaio 2011

Re: schedulazione

Messaggioda rpadovani » lunedì 11 giugno 2012, 19:25

Scusami, utente cos'è?
Lo script ha i permessi di esecuzione?
Devi essere root per eseguire lo script?
Avatar utente
rpadovani Maschile
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3289
Iscrizione: dicembre 2008
Località: Ferrara, Italia
Distribuzione: Ubuntu 14.10 x86_64
Desktop: Unity

Re: schedulazione

Messaggioda daddo » martedì 12 giugno 2012, 10:01

Utente root
permessi su script -rwxrwxrwx 1 root root
daddo Non specificato
Prode Principiante
 
Messaggi: 40
Iscrizione: gennaio 2011

Re: schedulazione

Messaggioda tomm » martedì 12 giugno 2012, 12:39

Dove vendono salvati i backup? il percorso è indicato come relativo o assoluto?
mi sembra di ricordare che cron non trova i percorsi relativi.
Avatar utente
tomm Non specificato
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 708
Iscrizione: ottobre 2007
Distribuzione: Ubuntu 14.04
Desktop: Mate

Re: schedulazione

Messaggioda daddo » martedì 12 giugno 2012, 15:53

relativo /backup/vari
comunque il percorso viene indicato nello script, che crea una dir per ogni giorno della settimana
daddo Non specificato
Prode Principiante
 
Messaggi: 40
Iscrizione: gennaio 2011

Re: schedulazione

Messaggioda tomm » martedì 12 giugno 2012, 17:01

prova a scrivere il percorso assoluto e posta il risultato esatto di crontab -l.
Come dice WebbyIT, la sintassi che hai che hai indicato sopra sembra essere sbagliata.
Avatar utente
tomm Non specificato
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 708
Iscrizione: ottobre 2007
Distribuzione: Ubuntu 14.04
Desktop: Mate

Re: schedulazione

Messaggioda rpadovani » martedì 12 giugno 2012, 18:24

Non devi specificare l'utente nello script.
Se deve avere i permessi di root, dai
Codice: Seleziona tutto
sudo crontab -e

e inserisci
Codice: Seleziona tutto
00 19 * * * /percorso/script.sh
Avatar utente
rpadovani Maschile
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3289
Iscrizione: dicembre 2008
Località: Ferrara, Italia
Distribuzione: Ubuntu 14.10 x86_64
Desktop: Unity

Re: schedulazione

Messaggioda daddo » martedì 12 giugno 2012, 18:57

:~# sudo crontab -l
# m h dom mon dow command
# backup db
# 50 11 * * * root /etc/init.d/backup_postgresql.sh --dated
00 19 * * * /etc/init.d/backup_postgresql.sh

# restart tomcat
00 23 * * * root /etc/init.d/tomcat stop
05 23 * * * root /etc/init.d/tomcat start
daddo Non specificato
Prode Principiante
 
Messaggi: 40
Iscrizione: gennaio 2011

Re: schedulazione

Messaggioda rpadovani » martedì 12 giugno 2012, 19:17

E quindi?
Sai, se magari dicessi anche qualcosa, magari riusciremmo a darti una mano!
Avatar utente
rpadovani Maschile
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3289
Iscrizione: dicembre 2008
Località: Ferrara, Italia
Distribuzione: Ubuntu 14.10 x86_64
Desktop: Unity

Re: schedulazione

Messaggioda daddo » martedì 12 giugno 2012, 19:21

Scusami, ma a parte dirti che non funziona e postare il risultato cosa ti posso dire !
daddo Non specificato
Prode Principiante
 
Messaggi: 40
Iscrizione: gennaio 2011

Re: schedulazione

Messaggioda rpadovani » martedì 12 giugno 2012, 19:25

Quindi neanche dopo che l'hai inserita con
Codice: Seleziona tutto
sudo crontab -e

funziona?
Come lanci normalmente lo script?
Avatar utente
rpadovani Maschile
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3289
Iscrizione: dicembre 2008
Località: Ferrara, Italia
Distribuzione: Ubuntu 14.10 x86_64
Desktop: Unity

Re: schedulazione

Messaggioda daddo » martedì 12 giugno 2012, 19:38

no continua a non partire
mentre se lancio il comando
./backup_postgres
parte e nelle cartella indicata, se non presente mi crea quella del giorno ad esempio mar altrimenti scrive il file nella cartella del giorno
daddo Non specificato
Prode Principiante
 
Messaggi: 40
Iscrizione: gennaio 2011

Re: schedulazione

Messaggioda tomm » martedì 12 giugno 2012, 20:43

hai messo il percorso assoluto alla cartella del backup? magari posta anche lo script.
Inoltre puoi loggare quello che fa lo script reindirizzando l'output in un file di log.
Ad es:
Codice: Seleziona tutto
00 19 * * * /etc/init.d/backup_postgresql.sh > /var/log/backup.log


PS: /etc/init.d/ non sarebbe il posto adatto per uno script di backup
Avatar utente
tomm Non specificato
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 708
Iscrizione: ottobre 2007
Distribuzione: Ubuntu 14.04
Desktop: Mate

Re: schedulazione

Messaggioda daddo » mercoledì 13 giugno 2012, 19:27

Eccolo, ho provato anche altri percorsi, /etc/init.d/ era per prova


#!/bin/bash
export PGPASSWORD="11111111"
DATABASE_NAME="DB2010"
USERNAME="postgres"
HOST="localhost"
WORKING_DIR="/backup/vari/"
RUNNING_MODE=$5
PG_DUMP=/usr/local/APT/pgsql84/bin/pg_dump

if [ "$RUNNING_MODE" = "--dated" ]
then
DATA=`date +'%h_%d_%y'`
WORKING_DIR="${WORKING_DIR}"/"${DATABASE_NAME}"
OUTFILE="${DATABASE_NAME}_${DATA}.sql"
else
DATA=`date +'%a'`

if [ "$RUNNING_MODE" = "--isolated" ]
then
WORKING_DIR="${WORKING_DIR}"/"${DATABASE_NAME}/${DATA}"
OUTFILE="${DATABASE_NAME}.sql"

else
# data = giorno della settimana
WORKING_DIR="${WORKING_DIR}"/"${DATA}"
OUTFILE="${DATABASE_NAME}.sql"
fi

fi


# Creo la directory se non esiste
if ! test -d "$WORKING_DIR"
then
mkdir "$WORKING_DIR" > /dev/null 2>&1
if [ $? -ne 0 ]
then
echo "Errore nella creazione della directory $WORKING_DIR"
exit
fi
fi



# entro nella directory di lavoro
cd "$WORKING_DIR"
START_TIME=`date` # istante di inizio


# esecuzione del backup effettivo
$PG_DUMP --create --column-inserts -f $OUTFILE --encoding=UTF8 -U $USERNAME -h $HOST $DATABASE_NAME
END_TIME=`date`
daddo Non specificato
Prode Principiante
 
Messaggi: 40
Iscrizione: gennaio 2011

Re: schedulazione

Messaggioda tomm » mercoledì 13 giugno 2012, 23:06

ho testato il tuo script direttamente da linea di comando e con cron, usando esattamente la tua configurazione e funziona perfettamente in entrambi i casi.
L'unica cosa che mi viene in mente è che u lanci lo script da linea di comando con l'utente postgres, mentre cron lo lancia con l'utente root e che postgres è configurato per accettare connessioni dall'utente postgres solo con il metodo ident.
Se questa ipotesi è giusta allora devi solo configurare postgres per fargli accettare connessioni dall'utente postgres con il metodo md5.

Sennò ci dev'essere un altro problema. Hai configurato cron in modo di loggare quello che fa lo script?
Codice: Seleziona tutto
00 19 * * * /etc/init.d/backup_postgresql.sh > /var/log/backup.log

Poi potrai vedere nel file /var/log/backup.log l'eventuale messaggio di errore.
Avatar utente
tomm Non specificato
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 708
Iscrizione: ottobre 2007
Distribuzione: Ubuntu 14.04
Desktop: Mate

Re: schedulazione

Messaggioda daddo » giovedì 14 giugno 2012, 9:35

su postgres ho configurato il file pg_hba.conf in modo da accettare tutto di tutti "host all all 0.0.0.0/0 md5"
ora provo a configurare cron per lo script, poi lo posto
daddo Non specificato
Prode Principiante
 
Messaggi: 40
Iscrizione: gennaio 2011

Re: schedulazione

Messaggioda daddo » giovedì 14 giugno 2012, 12:00

possible file backup.log completamente vuoto ?
daddo Non specificato
Prode Principiante
 
Messaggi: 40
Iscrizione: gennaio 2011

Re: schedulazione

Messaggioda rpadovani » giovedì 14 giugno 2012, 12:32

Beh, se hai lasciato il cron alle 19, fino alle 19 non avrai un file di log!
Avatar utente
rpadovani Maschile
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3289
Iscrizione: dicembre 2008
Località: Ferrara, Italia
Distribuzione: Ubuntu 14.10 x86_64
Desktop: Unity

Successiva

Torna a Programmazione

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 5 ospiti