Re: [deb-cat] logsave mes net

2015-10-17 Conversa Simó Albert i Beltran
Si poguéssim veure el codi del que estas fent podríem opinar amb
propietat.

Respecte el codi de retorn i la canalització a bash:

false | true
echo ${PIPESTATUS[0]} ${PIPESTATUS[1]}

o bé:

set -o pipefail
false | true || echo ko


Respecte fer una bitàcola (es diu així?), jo acostumo a usar el logger
que ja s'ha comentat pots veure'n un exemple a:
https://gitlab.com/dtv3/dtv3/blob/master/dtv3#L145


signature.asc
Description: PGP signature


Re: [deb-cat] logsave mes net

2015-10-17 Conversa Narcis Garcia
Uff, he estat utilitzant el logsave però, és clar, aquestes utilitats
externes no són útils a l'hora de cridar funcions del mateix ShellScript.
En aquests casos faig servir:
eval Funció | tee -a bitacola.log

El problema és que quan hi ha canalitzacions (|) només arriba el
resultat de sortida (exit code) de la última comanda (en aquest cas tee)
i no m'entero de si la funció ha resultat en algun error.

Ara estic intentant que cada funció exporti una variable amb el resultat
de sortida, tot i que serà un embolic amb crides concurrents.


El 12/10/15 a les 09:23, Narcis Garcia ha escrit:
> Gràcies; el «script» és molt interessant per «gravar» de fons tant
> execucions com sessions interactives d'usuari.
> De tota manera, tot i que ofereix el paràmetre --quiet, també enregistra
> capçaleres seves.
> 
> Com que ja he implementat el logsave, segueixo amb aquest.
> El què jo faig és, en un procés molt llarg, que un programet principal
> va fent crides a N processos secundaris. Per terminal el programet
> principal va informant de la tasca que està fent (sense més detalls) i
> el percentatge que porta. En canvi la sortida dels processos secundaris
> s'oculta quan tot va bé i s'enregistra a diverses bitàcoles (.log) quan
> han resultat en error.
> 
> Tot això és pel programa Peinddd.
> 
> 
> El 10/10/15 a les 19:07, Jordi Funollet ha escrit:
>> Potser et serveix el programa 'script' .
>>
> 



Re: [deb-cat] logsave mes net

2015-10-17 Conversa Narcis Garcia
Em sembla que les matrius com PIPESTATUS només són suportades per Bash,
i no per altres intèrprets de ShellScript. Intento fer programets el més
portables possibles.

Un exemple de programet per qual recollir el codi de sortida:

#!/bin/sh
LaFuncio ()
{
ls /inexistent
Resultat=$?
return $Resultat
}
LaFuncio 2>&1 | tee -a /var/log/labitacola.log
Resultat=$?
if [ $Resultat -ne 0 ] ; then echo "Problema" ; fi
exit $Resultat


El 17/10/15 a les 11:41, Simó Albert i Beltran ha escrit:
> Si poguéssim veure el codi del que estas fent podríem opinar amb
> propietat.
> 
> Respecte el codi de retorn i la canalització a bash:
> 
> false | true
> echo ${PIPESTATUS[0]} ${PIPESTATUS[1]}
> 
> o bé:
> 
> set -o pipefail
> false | true || echo ko
> 
> 
> Respecte fer una bitàcola (es diu així?), jo acostumo a usar el logger
> que ja s'ha comentat pots veure'n un exemple a:
> https://gitlab.com/dtv3/dtv3/blob/master/dtv3#L145
> 



Re: [deb-cat] logsave mes net

2015-10-17 Conversa Ernest Adrogué
2015-10-17, 10:45 (+0200); Narcis Garcia escriu:
> El problema és que quan hi ha canalitzacions (|) només arriba el
> resultat de sortida (exit code) de la última comanda (en aquest cas tee)
> i no m'entero de si la funció ha resultat en algun error.

Pots utilitzar un fitxer fifo en lloc de la canalització; per exemple

#!/bin/sh

fifo="$(mktemp -u)" || exit

trap "rm -f '$fifo'" 0
trap "exit 2" 1 2 3 15

mkfifo "$fifo" || exit

tee -a ./log <"$fifo" &

echo 1
echo 2 > "$fifo"
echo 3 > "$fifo"
echo 4
echo 5 > "$fifo"

si mires al fitxer ./log conté

2
3
5

que és correcte, en canvi a la sortida estàndard em surt desordenat

1
4
2
3
5

Si algú sap com resoldre aquest detall podria ser una solució.



Re: [deb-cat] Trobada 2015

2015-10-17 Conversa Mònica Ramírez Arceda

Doncs sembla que seguim amb la data que vaig proposar... Dissabte 21 de
novembre.

Fem una cosa: proposo que aquest dilluns dia 19 d'octubre a la nit sigui l'últim
dia per afegir-vos al dudle o canviar les vostres preferències. I ja
fixem el dia definitiu. Us sembla? 

Alguna notícia des de Girona? ;-)

Salut!

Leopold Palomo-Avellaneda  writes:

> El Dimecres, 14 d'octubre de 2015, a les 08:31:12, tictacbum va escriure:
>> Sento tornar a empatar les dates, però el 24 d'octubre no podré :(
>
> Jo tampoc i he desempatat a favor del novembre ...
>
> Leo 
>
>
> -- 
> --
> Linux User 152692 GPG: 05F4A7A949A2D9AA
> Catalonia
> -
> A: Because it messes up the order in which people normally read text.
> Q: Why is top-posting such a bad thing?
> A: Top-posting.
> Q: What is the most annoying thing in e-mail?



Re: [deb-cat] logsave mes net

2015-10-17 Conversa Roger Sicart
Bones,

Jo per capturar la sortida i el codi de retorn de la comanda normalment
utilitzo variables i subshells.
Si no m'equivoco ni en shell ni en bash hi ha la paraula clau "return", per
això es fa un "echo" o es captura el codi de retorn en funció de les teves
necessitats, perquè et podria interessar més formatejar la sortida del
subshell (per exemple, amb sed o awk) abans d'enviar-la cap al fitxer de
log:

#!/bin/sh
LaFuncio ()
{
ls /inexistent
Resultat=$?
echo $Resultat
}
sortida=$(LaFuncio 2>&1)
Resultat=$?
# aquí pots treballar la sortida, per exemple
echo $sortida | sed -e 's/ /\t/g'  | tee -a /var/log/labitacola.log
if [ "$Resultat" != "0" ] ; then echo "Problema" ; fi
exit $Resultat


Salut, bon dissabte.


On Saturday, 17 October 2015, Narcis Garcia  wrote:

> Em sembla que les matrius com PIPESTATUS només són suportades per Bash,
> i no per altres intèrprets de ShellScript. Intento fer programets el més
> portables possibles.
>
> Un exemple de programet per qual recollir el codi de sortida:
>
> #!/bin/sh
> LaFuncio ()
> {
> ls /inexistent
> Resultat=$?
> return $Resultat
> }
> LaFuncio 2>&1 | tee -a /var/log/labitacola.log
> Resultat=$?
> if [ $Resultat -ne 0 ] ; then echo "Problema" ; fi
> exit $Resultat
>
>
> El 17/10/15 a les 11:41, Simó Albert i Beltran ha escrit:
> > Si poguéssim veure el codi del que estas fent podríem opinar amb
> > propietat.
> >
> > Respecte el codi de retorn i la canalització a bash:
> >
> > false | true
> > echo ${PIPESTATUS[0]} ${PIPESTATUS[1]}
> >
> > o bé:
> >
> > set -o pipefail
> > false | true || echo ko
> >
> >
> > Respecte fer una bitàcola (es diu així?), jo acostumo a usar el logger
> > que ja s'ha comentat pots veure'n un exemple a:
> > https://gitlab.com/dtv3/dtv3/blob/master/dtv3#L145
> >
>
>

-- 
--

R. Sicart


Re: [deb-cat] logsave mes net

2015-10-17 Conversa Narcis Garcia
La cosa està en què la funció produeix molta informació textual (tant
stdout com stderr) per desar en una bitàcola, que és per això que es fa
servir el "tee". Sinó, seria ben senzill emetre només el numeret de sortida.
return sempre ha funcionat a les funcions.

Provisionalment, estic utilitzant un fitxer normal i corrent, només per
aquests casos:

#!/bin/sh
LaFuncio ()
{
ls /inexistent
Resultat=$?
echo $Resultat > /tmp/LaFuncio.resultat.num
return $Resultat
}
LaFuncio 2>&1 | tee -a /var/log/labitacola.log
Resultat=$(cat /tmp/LaFuncio.resultat.num)
rm /tmp/LaFuncio.resultat.num
if [ $Resultat -ne 0 ] ; then echo "Problema" ; fi
exit $Resultat


El 17/10/15 a les 14:09, Roger Sicart ha escrit:
> 
> Bones,
> 
> Jo per capturar la sortida i el codi de retorn de la comanda normalment
> utilitzo variables i subshells.
> Si no m'equivoco ni en shell ni en bash hi ha la paraula clau "return",
> per això es fa un "echo" o es captura el codi de retorn en funció de les
> teves necessitats, perquè et podria interessar més formatejar la sortida
> del subshell (per exemple, amb sed o awk) abans d'enviar-la cap al
> fitxer de log:
> 
> #!/bin/sh
> LaFuncio ()
> {
> ls /inexistent
> Resultat=$?
> echo $Resultat
> }
> sortida=$(LaFuncio 2>&1)
> Resultat=$?
> # aquí pots treballar la sortida, per exemple
> echo $sortida | sed -e 's/ /\t/g'  | tee -a /var/log/labitacola.log
> if [ "$Resultat" != "0" ] ; then echo "Problema" ; fi
> exit $Resultat
> 
> 
> Salut, bon dissabte.
> 
> 
> On Saturday, 17 October 2015, Narcis Garcia  > wrote:
> 
> Em sembla que les matrius com PIPESTATUS només són suportades per Bash,
> i no per altres intèrprets de ShellScript. Intento fer programets el més
> portables possibles.
> 
> Un exemple de programet per qual recollir el codi de sortida:
> 
> #!/bin/sh
> LaFuncio ()
> {
> ls /inexistent
> Resultat=$?
> return $Resultat
> }
> LaFuncio 2>&1 | tee -a /var/log/labitacola.log
> Resultat=$?
> if [ $Resultat -ne 0 ] ; then echo "Problema" ; fi
> exit $Resultat
> 
> 
> El 17/10/15 a les 11:41, Simó Albert i Beltran ha escrit:
> > Si poguéssim veure el codi del que estas fent podríem opinar amb
> > propietat.
> >
> > Respecte el codi de retorn i la canalització a bash:
> >
> > false | true
> > echo ${PIPESTATUS[0]} ${PIPESTATUS[1]}
> >
> > o bé:
> >
> > set -o pipefail
> > false | true || echo ko
> >
> >
> > Respecte fer una bitàcola (es diu així?), jo acostumo a usar el logger
> > que ja s'ha comentat pots veure'n un exemple a:
> > https://gitlab.com/dtv3/dtv3/blob/master/dtv3#L145
> >
> 
> 
> 
> -- 
> --
> 
> R. Sicart
> 



Re: [deb-cat] Trobada 2015

2015-10-17 Conversa Narcis Garcia
A Girona s'està confirmant ja la trobada per dissabte 24 d'octubre, i
per si de cas ja s'està demanant un espai a la universitat de Girona pel
21 de novembre.

Suposo que a la trobada de dissabte vinent (a la qual tothom hi sereu
benvingudes) se sumaran ànims per enfilar la del mes vinent.

Acabaré de confirmant amb convocatòria i tot.


El 17/10/15 a les 15:21, Narcis Garcia ha escrit:
> A Girona s'està intentant quedar pel dissabte vinent, 24 d'octubre, on
> suposo que es proposarà una nova trobada comuna Debian-Catalan.
> 
> 
> El 17/10/15 a les 14:14, Mònica Ramírez Arceda ha escrit:
>>
>> Doncs sembla que seguim amb la data que vaig proposar... Dissabte 21 de
>> novembre.
>>
>> Fem una cosa: proposo que aquest dilluns dia 19 d'octubre a la nit sigui 
>> l'últim
>> dia per afegir-vos al dudle o canviar les vostres preferències. I ja
>> fixem el dia definitiu. Us sembla? 
>>
>> Alguna notícia des de Girona? ;-)
>>
>> Salut!
>>
>> Leopold Palomo-Avellaneda  writes:
>>
>>> El Dimecres, 14 d'octubre de 2015, a les 08:31:12, tictacbum va escriure:
 Sento tornar a empatar les dates, però el 24 d'octubre no podré :(
>>>
>>> Jo tampoc i he desempatat a favor del novembre ...
>>>
>>> Leo 
>>>
>>>
>>> -- 
>>> --
>>> Linux User 152692 GPG: 05F4A7A949A2D9AA
>>> Catalonia
>>> -
>>> A: Because it messes up the order in which people normally read text.
>>> Q: Why is top-posting such a bad thing?
>>> A: Top-posting.
>>> Q: What is the most annoying thing in e-mail?
>>
>