PDA

View Full Version : redirigere contenuto file in syslog


Tony Lio
26-05-2009, 15:03
Buondì code monkeys :)
Ragazzi mi serve una mano veloce, ho un file dove vengono girati i log di login/logout di oracle. Oracle, se non utilizzi l'audit, non ti da la possibilità di girare questi log verso il syslog dell'OS.
Ora a me serve (magari attraverso una pipe?) redirigere il contenuto di questo file direttamente nel syslog. Sapete se e come è possibile fare questa operazione??? In real time ovviamente :)
ciao e grazie

Caldwell83
26-05-2009, 15:38
Premettendo che non so se si possa scrivere direttamente nel log di sistema, un modo per ritrovarti il log di oracle nel log di sistema è:

tail -f ${LOG_ORACLE} >> ${LOG_SISTEMA}

Magari lanciato in background con l'aggiunta di & alla fine del comando.

Tony Lio
26-05-2009, 15:52
Intanto grazie :)
Dunque aggiungo alcune cose.
Il file /home/oracle/oralog/oraclesession.txt è il file dove Oracle mi smazza i login/logut. Su questo file ci può scrivere l'utente oracle e l'utente root, ma se uso la tua opzione, nel /var/log/messages lì ci può scrivere solo root...e quindi con la tua soluzione dovrei farlo partire all'avvio della macchina come una specie di servizio. Fattibile ma speravo (spero) di ottenere qualcosa di ancora più semplice. La cosa ideale sarebbe avere la possibilità di configurare syslog in modo da prendersi, direttamente lui, come input, il file oraclesession.txt

Ora a naso non credo, ma più soluzioni trovo e poi meglio posso pensare su quale adottare.
Il vero problema è che sono rimasto affascinato da Oracle e finchè non sarà integrato "in simbiosi" col mio server, sto male :help: :D

Ciao e grazie.

p.s.
cmq la tua soluzione non funge :) ,a ppena controllato.

Caldwell83
26-05-2009, 16:20
Boh, io l'ho provata su un log di un programma e funziona (non ridirigendo sul log di sistema ma su un altro file) :boh:

Tony Lio
27-05-2009, 09:49
niente eh?

Tony Lio
28-05-2009, 15:34
Per mio costume vi aggiorno comunque.
ho creato una fifo:
#mkfifo /home/oracle/oralog/oraclessession.txt
Oracle scrive correttamente i log in questa pipe, ma adesso ho bisogno di mandarli nel syslog. per prima cosa ho provato il comando logger su questa pipe, e funziona.
# logger -p local1.info < /home/oracle/oralog/oraclesession.txt
Quindi sto implementando uno script bash che, in ciclo while do, dovrebbe far scattare il logger ogni volta che il db tenta di scrivere sulla pipe.
#!/bin/bash
prg_read=`logger -p local1.info < /home/oracle/oralog/oraclesession.txt`
while true
do
echo "Programma in esecuzione"
wait $prg_read wait
echo "Programma non in esecuzione"
done
Ora, se avete idee o suggerimenti siete i benvenuti, il ciclo becca la prima entry e poi va in loop......senza far più nulla :(

Saluti

p.s.
gli echo mi servono solo come debug a video ^_

Tony Lio
28-05-2009, 16:17
Chiedo scusa al mod della sezione, ma m'era passato di mente esistesse anche la sez. programmazione :(
Se non è troppo disturbo spostarlo lì.

Grazie