Re: [Gutl-l] Pregunta sobre CP [SOLVED]

2010-12-24 Por tema Willians Vivanco


¿Con qué pudiera implementar que, me envíe un email con el resultado 
del script?

Según he leído, sendmail es una opción.

Echo "Texto del mensaje" | mail -s "Subject" destinatario>


Tienes mas opciones en man mail

Slds
Willians

--

Este mensaje le ha llegado mediante el servicio de correo electronico que 
ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema 
Nacional de Salud. La persona que envia este correo asume el compromiso de usar 
el servicio a tales fines y cumplir con las regulaciones establecidas

Infomed: http://www.sld.cu/

__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Pregunta sobre CP [SOLVED]

2010-12-24 Por tema KZKG^Gaara

El 24/12/10 00:22, Matthias Apitz escribió:


Sí, era lo contrario. Pero, esto no importa, ¿no? :-)
Ojo, lo "contrario" puede significar perder todos los ficheros.
No necesariamente, no ejecuto el script en el server nada más terminado, 
ni siquiera a medio terminar... lo pruebo en una PC virtual varias 
veces, con múltiples cambios, etc...



Lo más claro para tal caso, según mi opinión, sería:

cp -R /1/ /home/2/ || {
 send_mail.sh
 llamarAlAdmin.sh
 ...
 printf "Panico: CP ha fallado -- exit\n"
 exit 1
 }
rm -R /1/
...

matthias

Gracias por el dato, mas ya logré lo que quería, el ciclo me refiero:

while [ $CONTROL=0 ] ; do
cp -R /1/ $WORK_DIR
if [ $? -ne 0 ]; then
CONTADOR=0
echo ERROR !!!. Cerrando Script.
exit
else
  CONTADOR=1
rm /1/
fi
exit
done

No obstante, guardo el tuyo que siempre es bueno tener varias opciones.

Ahora, me has adelantado algo que iba a preguntar en unos momentos.
¿Con qué pudiera implementar que, me envíe un email con el resultado del 
script?

Según he leído, sendmail es una opción.

Bueno nada eso. Muchas gracias por tus respuestas, por las de Willians 
también, que por lo de "man bash" fué que logré hacer yo mismo lo que 
necesitaba.

Saludos y, espero respuesta.

PD: Willians bro, cuando leímos aquí lo de man nos reímos bastante jajaja

__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Pregunta sobre CP

2010-12-23 Por tema Matthias Apitz
El día Thursday, December 23, 2010 a las 10:51:24AM -0500, KZKG^Gaara 
escribió:

> El 23/12/10 10:39, Matthias Apitz escribió:
> > Lo entiendes mal (hasta fatal). Con || hace justamente lo contrario: sólo si
> > la primera orden falla, ejecuta la segunda.
> >
> > Lo correcto para tu caso, y lo más simple y entendible es
> >
> > cp -R /1/ /home/2/&&  rm -R /1/
> >
> > Cada uno que lo lea, entiende de primera vista que pasará :-)
> >
> > matthias
> Ok, entonces era lo contrario.

Sí, era lo contrario. Pero, esto no importa, ¿no? :-)
Ojo, lo "contrario" puede significar perder todos los ficheros.

> Lo que Willians y tú me comentan resuelve mi problema, gracias por tan 
> pronta respuesta.
> Ahora, mi duda también es: si no se puede lograr mediante un ciclo 
> condicional?
> Sé que ya con && se resuelve, pero me gustaría lograr algo como:
> 
> if cp=false
> then execute send_email.sh
> else
> rm -R /1/
> .
> ..
> ...
> etc.
> 
> O sea, si cp dá algún error (devuelve false, null, 0, o algo así no 
> conozco el método) entonces que haga X proceso, si devuelve true (o sea, 
> que no dé error) entonces que siga con todo el script.

Lo más claro para tal caso, según mi opinión, sería:

cp -R /1/ /home/2/ || {
send_mail.sh
llamarAlAdmin.sh
...
printf "Panico: CP ha fallado -- exit\n"
exit 1
}
rm -R /1/
...

matthias

-- 
Matthias Apitz
t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211
e  - w http://www.unixarea.de/

__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Pregunta sobre CP

2010-12-23 Por tema Willians Vivanco

On 12/23/2010 11:14 AM, KZKG^Gaara wrote:

El 23/12/10 11:09, Willians Vivanco escribió:
Si quieres enfocarlo a condicion, juega con el exit status de la 
operacion (cp en este caso)


cp -R /1/ /home/2/
echo $?

Si es 0, el resultado es Ok, si es 2, el resultado es un ERROR

Slds
Willians


Sí, llegaste a la misma condición que yo llegué.
Ahora, lo que dices es un ejemplo o es que es así. Me refiero a que si 
cp devuelve 0 es OK y si devuelve 2 es que dió algún error??
Si es cierto, y si cuando cp devuelve 0=ok y si devuelve 2=error 
entonces, eso es justo lo que necesitaba saber para empezar a hacer el 
code.


Espero tu respuesta.
Thanks

__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


man bash
Y filtra por "exit status"

--

Este mensaje le ha llegado mediante el servicio de correo electronico que 
ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema 
Nacional de Salud. La persona que envia este correo asume el compromiso de usar 
el servicio a tales fines y cumplir con las regulaciones establecidas

Infomed: http://www.sld.cu/

__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Pregunta sobre CP

2010-12-23 Por tema KZKG^Gaara

El 23/12/10 11:09, Willians Vivanco escribió:
Si quieres enfocarlo a condicion, juega con el exit status de la 
operacion (cp en este caso)


cp -R /1/ /home/2/
echo $?

Si es 0, el resultado es Ok, si es 2, el resultado es un ERROR

Slds
Willians


Sí, llegaste a la misma condición que yo llegué.
Ahora, lo que dices es un ejemplo o es que es así. Me refiero a que si 
cp devuelve 0 es OK y si devuelve 2 es que dió algún error??
Si es cierto, y si cuando cp devuelve 0=ok y si devuelve 2=error 
entonces, eso es justo lo que necesitaba saber para empezar a hacer el code.


Espero tu respuesta.
Thanks

__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Pregunta sobre CP

2010-12-23 Por tema Willians Vivanco

On 12/23/2010 10:51 AM, KZKG^Gaara wrote:

El 23/12/10 10:39, Matthias Apitz escribió:
Lo entiendes mal (hasta fatal). Con || hace justamente lo contrario: 
sólo si

la primera orden falla, ejecuta la segunda.

Lo correcto para tu caso, y lo más simple y entendible es

cp -R /1/ /home/2/&&  rm -R /1/

Cada uno que lo lea, entiende de primera vista que pasará :-)

matthias

Ok, entonces era lo contrario.
Lo que Willians y tú me comentan resuelve mi problema, gracias por tan 
pronta respuesta.
Ahora, mi duda también es: si no se puede lograr mediante un ciclo 
condicional?

Sé que ya con && se resuelve, pero me gustaría lograr algo como:

if cp=false
then execute send_email.sh
else
rm -R /1/
.
..
...
etc.

O sea, si cp dá algún error (devuelve false, null, 0, o algo así no 
conozco el método) entonces que haga X proceso, si devuelve true (o 
sea, que no dé error) entonces que siga con todo el script.


Eso es lo que me gustaría lograr. Si conocen algún método o algo 
agradecería me lo dijeran.
No intento que me den la solución definitiva, así como tampoco me 
dejen el ciclo listo y preparado, solo quiero que me den alguna pista, 
punto de inicio.


Saludos y gracias de veras.

PD: No soy programador, eso es algo obvio con el vergonzoso "ciclo" 
que dejé arriba jaja


__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Si quieres enfocarlo a condicion, juega con el exit status de la 
operacion (cp en este caso)


cp -R /1/ /home/2/
echo $?

Si es 0, el resultado es Ok, si es 2, el resultado es un ERROR

Slds
Willians

--

Este mensaje le ha llegado mediante el servicio de correo electronico que 
ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema 
Nacional de Salud. La persona que envia este correo asume el compromiso de usar 
el servicio a tales fines y cumplir con las regulaciones establecidas

Infomed: http://www.sld.cu/

__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Pregunta sobre CP

2010-12-23 Por tema Willians Vivanco

On 12/23/2010 10:26 AM, KZKG^Gaara wrote:

El 23/12/10 10:20, Willians Vivanco escribió:

cp -R /1/ /home/2/ && rm -R /1/


Pensé en eso, al igual que:
cp -R /1/ /home/2/ || rm -R /1/
Que tengo entendido que si lo primero dá error entonces no continúa 
con lo segundo.


Pero, no hay alguna forma de hacerlo mediante algún ciclo o algo así, 
de forma tal que luego pueda agregarle para que envíe un email y otra 
serie de pasos?


__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


orden1 && orden2 && orden3 && ... && ordenN

--

Este mensaje le ha llegado mediante el servicio de correo electronico que 
ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema 
Nacional de Salud. La persona que envia este correo asume el compromiso de usar 
el servicio a tales fines y cumplir con las regulaciones establecidas

Infomed: http://www.sld.cu/

__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Pregunta sobre CP

2010-12-23 Por tema KZKG^Gaara

El 23/12/10 10:39, Matthias Apitz escribió:

Lo entiendes mal (hasta fatal). Con || hace justamente lo contrario: sólo si
la primera orden falla, ejecuta la segunda.

Lo correcto para tu caso, y lo más simple y entendible es

cp -R /1/ /home/2/&&  rm -R /1/

Cada uno que lo lea, entiende de primera vista que pasará :-)

matthias

Ok, entonces era lo contrario.
Lo que Willians y tú me comentan resuelve mi problema, gracias por tan 
pronta respuesta.
Ahora, mi duda también es: si no se puede lograr mediante un ciclo 
condicional?

Sé que ya con && se resuelve, pero me gustaría lograr algo como:

if cp=false
then execute send_email.sh
else
rm -R /1/
.
..
...
etc.

O sea, si cp dá algún error (devuelve false, null, 0, o algo así no 
conozco el método) entonces que haga X proceso, si devuelve true (o sea, 
que no dé error) entonces que siga con todo el script.


Eso es lo que me gustaría lograr. Si conocen algún método o algo 
agradecería me lo dijeran.
No intento que me den la solución definitiva, así como tampoco me dejen 
el ciclo listo y preparado, solo quiero que me den alguna pista, punto 
de inicio.


Saludos y gracias de veras.

PD: No soy programador, eso es algo obvio con el vergonzoso "ciclo" que 
dejé arriba jaja


__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Pregunta sobre CP

2010-12-23 Por tema Matthias Apitz
El día Thursday, December 23, 2010 a las 10:26:19AM -0500, KZKG^Gaara 
escribió:

> El 23/12/10 10:20, Willians Vivanco escribió:
> > cp -R /1/ /home/2/ && rm -R /1/
> 
> Pensé en eso, al igual que:
> cp -R /1/ /home/2/ || rm -R /1/
> Que tengo entendido que si lo primero dá error entonces no continúa con 
> lo segundo.

Lo entiendes mal (hasta fatal). Con || hace justamente lo contrario: sólo si
la primera orden falla, ejecuta la segunda.

Lo correcto para tu caso, y lo más simple y entendible es

cp -R /1/ /home/2/ && rm -R /1/

Cada uno que lo lea, entiende de primera vista que pasará :-)

matthias
-- 
Matthias Apitz
t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211
e  - w http://www.unixarea.de/

__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Pregunta sobre CP

2010-12-23 Por tema KZKG^Gaara

El 23/12/10 10:20, Willians Vivanco escribió:

cp -R /1/ /home/2/ && rm -R /1/


Pensé en eso, al igual que:
cp -R /1/ /home/2/ || rm -R /1/
Que tengo entendido que si lo primero dá error entonces no continúa con 
lo segundo.


Pero, no hay alguna forma de hacerlo mediante algún ciclo o algo así, de 
forma tal que luego pueda agregarle para que envíe un email y otra serie 
de pasos?


__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Pregunta sobre CP

2010-12-23 Por tema Matthias Apitz
El día Thursday, December 23, 2010 a las 10:08:44AM -0500, KZKG^Gaara 
escribió:

> Hola,
> Tengo un problema con un script, los pasos que tiene este son varios, 
> uno es:
> cp -R /1/ /home/2/
> rm -R /1/

usa: 

cp -R /1/ /home/2/ && rm -R /1/

Saludos

matthias
-- 
Matthias Apitz
t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211
e  - w http://www.unixarea.de/

__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


Re: [Gutl-l] Pregunta sobre CP

2010-12-23 Por tema Willians Vivanco

On 12/23/2010 10:08 AM, KZKG^Gaara wrote:

Hola,
Tengo un problema con un script, los pasos que tiene este son varios, 
uno es:

cp -R /1/ /home/2/
rm -R /1/

O sea, copia /1/ hacia /home/2/, y luego borra /1/
Ahora, si por algún motivo o cualquier cosa, NO puede copiar /1/ hacia 
/home/2/, saltará al siguiente paso y me borrará /1/

Mi pregunta...

¿Cómo puedo indicar que si el paso de cp dá error (devuelve false, 
null o algo así) entonces NO continúe hacia los siguientes pasos?


Eso es, muchas gracias por adelantado.
Saludos
 próxima parte 
Se ha borrado un adjunto en formato HTML...
URL: 
 


__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l


cp -R /1/ /home/2/ && rm -R /1/

--

Este mensaje le ha llegado mediante el servicio de correo electronico que 
ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema 
Nacional de Salud. La persona que envia este correo asume el compromiso de usar 
el servicio a tales fines y cumplir con las regulaciones establecidas

Infomed: http://www.sld.cu/

__
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l