schedulazione [RISOLTO]

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
daddo
Prode Principiante
Messaggi: 40
Iscrizione: martedì 18 gennaio 2011, 12:34

schedulazione [RISOLTO]

Messaggio da daddo »

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.
Avatar utente
rpadovani
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3434
Iscrizione: lunedì 8 dicembre 2008, 19:49
Desktop: GNOME Shell
Distribuzione: Ubuntu 18.04 x86_64
Sesso: Maschile
Località: Munich, Germany
Contatti:

Re: schedulazione

Messaggio da rpadovani »

In che senso l'hai inserito nel file di configurazione di crontab?
Hai creato un nuovo crontab come spiegato nella documentazione?
Solutions Architect at nextbit | About me
Changing the world bit by bit
daddo
Prode Principiante
Messaggi: 40
Iscrizione: martedì 18 gennaio 2011, 12:34

Re: schedulazione

Messaggio da daddo »

esatto,
crontab -e
00 19 * * * utente /percorso/script.sh
salvo
verifico con contab -l
Avatar utente
rpadovani
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3434
Iscrizione: lunedì 8 dicembre 2008, 19:49
Desktop: GNOME Shell
Distribuzione: Ubuntu 18.04 x86_64
Sesso: Maschile
Località: Munich, Germany
Contatti:

Re: schedulazione

Messaggio da rpadovani »

Scusami, utente cos'è?
Lo script ha i permessi di esecuzione?
Devi essere root per eseguire lo script?
Solutions Architect at nextbit | About me
Changing the world bit by bit
daddo
Prode Principiante
Messaggi: 40
Iscrizione: martedì 18 gennaio 2011, 12:34

Re: schedulazione

Messaggio da daddo »

Utente root
permessi su script -rwxrwxrwx 1 root root
Avatar utente
tomm
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 796
Iscrizione: lunedì 15 ottobre 2007, 10:16
Desktop: Gnome
Distribuzione: Ubuntu 16.04

Re: schedulazione

Messaggio da tomm »

Dove vendono salvati i backup? il percorso è indicato come relativo o assoluto?
mi sembra di ricordare che cron non trova i percorsi relativi.
daddo
Prode Principiante
Messaggi: 40
Iscrizione: martedì 18 gennaio 2011, 12:34

Re: schedulazione

Messaggio da daddo »

relativo /backup/vari
comunque il percorso viene indicato nello script, che crea una dir per ogni giorno della settimana
Avatar utente
tomm
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 796
Iscrizione: lunedì 15 ottobre 2007, 10:16
Desktop: Gnome
Distribuzione: Ubuntu 16.04

Re: schedulazione

Messaggio da tomm »

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
rpadovani
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3434
Iscrizione: lunedì 8 dicembre 2008, 19:49
Desktop: GNOME Shell
Distribuzione: Ubuntu 18.04 x86_64
Sesso: Maschile
Località: Munich, Germany
Contatti:

Re: schedulazione

Messaggio da rpadovani »

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
Solutions Architect at nextbit | About me
Changing the world bit by bit
daddo
Prode Principiante
Messaggi: 40
Iscrizione: martedì 18 gennaio 2011, 12:34

Re: schedulazione

Messaggio da daddo »

:~# 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
Avatar utente
rpadovani
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3434
Iscrizione: lunedì 8 dicembre 2008, 19:49
Desktop: GNOME Shell
Distribuzione: Ubuntu 18.04 x86_64
Sesso: Maschile
Località: Munich, Germany
Contatti:

Re: schedulazione

Messaggio da rpadovani »

E quindi?
Sai, se magari dicessi anche qualcosa, magari riusciremmo a darti una mano!
Solutions Architect at nextbit | About me
Changing the world bit by bit
daddo
Prode Principiante
Messaggi: 40
Iscrizione: martedì 18 gennaio 2011, 12:34

Re: schedulazione

Messaggio da daddo »

Scusami, ma a parte dirti che non funziona e postare il risultato cosa ti posso dire !
Avatar utente
rpadovani
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3434
Iscrizione: lunedì 8 dicembre 2008, 19:49
Desktop: GNOME Shell
Distribuzione: Ubuntu 18.04 x86_64
Sesso: Maschile
Località: Munich, Germany
Contatti:

Re: schedulazione

Messaggio da rpadovani »

Quindi neanche dopo che l'hai inserita con

Codice: Seleziona tutto

sudo crontab -e
funziona?
Come lanci normalmente lo script?
Solutions Architect at nextbit | About me
Changing the world bit by bit
daddo
Prode Principiante
Messaggi: 40
Iscrizione: martedì 18 gennaio 2011, 12:34

Re: schedulazione

Messaggio da daddo »

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
Avatar utente
tomm
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 796
Iscrizione: lunedì 15 ottobre 2007, 10:16
Desktop: Gnome
Distribuzione: Ubuntu 16.04

Re: schedulazione

Messaggio da tomm »

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
daddo
Prode Principiante
Messaggi: 40
Iscrizione: martedì 18 gennaio 2011, 12:34

Re: schedulazione

Messaggio da daddo »

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`
Avatar utente
tomm
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 796
Iscrizione: lunedì 15 ottobre 2007, 10:16
Desktop: Gnome
Distribuzione: Ubuntu 16.04

Re: schedulazione

Messaggio da tomm »

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.
daddo
Prode Principiante
Messaggi: 40
Iscrizione: martedì 18 gennaio 2011, 12:34

Re: schedulazione

Messaggio da daddo »

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
Prode Principiante
Messaggi: 40
Iscrizione: martedì 18 gennaio 2011, 12:34

Re: schedulazione

Messaggio da daddo »

possible file backup.log completamente vuoto ?
Avatar utente
rpadovani
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3434
Iscrizione: lunedì 8 dicembre 2008, 19:49
Desktop: GNOME Shell
Distribuzione: Ubuntu 18.04 x86_64
Sesso: Maschile
Località: Munich, Germany
Contatti:

Re: schedulazione

Messaggio da rpadovani »

Beh, se hai lasciato il cron alle 19, fino alle 19 non avrai un file di log!
Solutions Architect at nextbit | About me
Changing the world bit by bit
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 17 ospiti