Herramientas Personales
Usted está aquí: Inicio ¡Participa! Foros
Acciones de Documento
Hilo abierto

Script con rsync

Volver al foro (Usando Guadalinex V7)
Orden:   
  • Escrito por fjesusarroyo el 07/02/2012 15:00

    fjesusarroyo

    Iniciado

    Envíos: 23

    Hola gente realizé hace un tiempo un simple script que me funcionaba a la perfección, este detecta si está conectado el pendrive en donde hago la copia de los archivos contenido en una carpeta con el comando rsync y  una vez ha realizado la copia o actualización de la carpeta se desmonta solo y lanza un mensaje.

     

    El caso es que tras hacer algunas actualizaciones en el sistema (tengo 10.04 hasta que salga la proxima versión de soporte largo) me ha dejado de funcionar, estoy que ya no sé como mirarlo, le he dado muchas vueltas y no entiendo que falla en las lineas ya que si ejecuto directmante en la consola la sentencia "ls -l /dev/disk/by-uuid/ad1dd9f8-fc33-4d58-b314-90218cc4539b" me devuelve como es de esperar una linea con los permisos, vamos que esto funciona bien... no entiendo el error que me devuelve.

     

    ¿Que estoy haciendo mal si antes de actualizar funcionaba correctamente?

     

     

    #! /bin/bash

    if (( ls -l /dev/disk/by-uuid/ad1dd9f8-fc33-4d58-b314-90218cc4539b ))

    then

    logger "$0: entro en la condicion Pendrive conectado"

    logger "$0: lanzo rsync"

    rsync -rutz /home/pepillo/documentosSalvadosPorScript/ /media/ad1dd9f8-fc33-4d58-b314-90218cc4539b/nuevoSalvadoAuto;

    sleep 5;

    logger "$0: desmonto la unidad"

    zenity --info --text "Copia de Seguridad realizada correctamente"

    umount /media/ad1dd9f8-fc33-4d58-b314-90218cc4539b;

    else

    logger "$0: no encontrado uuid ad1dd9f8-fc33-4d58-b314-90218cc4539b"

    exit;

    fi

    logger "$0: fin"

     

     

     

    Cuando ejecuto el script con el contenido citado anteriormente me devuelve el siguiente error:

     

    ./scriptGuay.sh: línea 3: ((: ls -l /dev/disk/by-uuid/ad1dd9f8-fc33-4d58-b314-90218cc4539b : división por 0 (el elemento de error es "/disk/by-uuid/ad1dd9f8-fc33-4d58-b314-90218cc4539b ")

     

     

    No entiendo que sucede, ha sido un script que he utilizado anteriormente sin ningún problema y tras algunas actualizaciones me  ha dejado de funcionar para devolverme ese error.

     

    Acepto sugerencias que esto me tiene ya agobiado..

     

    saludos

    Porque nosotros somos la encarnación local de Cosmos que ha crecido hasta tener consciencia de sí. Hemos empezado a contemplar nuestros orígenes: sustancia estelar que medita sobre las estrellas. Conjuntos organizados de decenas de miles de billones de billones de átomos que consideran la evolución de los átomos y rastrean el largo camino a través del cual llegó a surgir la consciencia, por lo menos aquí. Nosotros hablamos en nombre de la Tierra. Debemos nuestra obligación de sobrevivir no sólo a nosotros sino también a este Cosmos, antiguo y vasto, del cual procedemos. Carl Sagan-Cosmos
    • Re: Script con rsync

      Escrito por hatteras el 07/02/2012 16:17

      hatteras

      Maestro Ancestral

      Envíos: 4708

      Posiblemente el uuid del pendrive haya cambiado.

      Normalmente el uuid del pendrive puede cambiar si lo formateas

      Para encontrar el UUID del pendrive conectado , ejecuta en una terminal: sudo blkid | grep ‘UUID’

      y cambia el uuid que te salga con esta linea en el script.

      ---------------

      Otra solución es que modifiques el script para que en vez de reconocer al pendrive por su uuid, lo haga por su "etiqueta" ("label")

      Para encontrar la Etiqueta del pendrive conectado, ejecuta en una terminal: sudo blkid | grep ‘LABEL’

      – Para poner una Etiqueta si el pendrive no la tiene: Sistema-Administración-Editor de particiones: eliges el pendrive, lo desmontas, y ya le puedes poner una etiqueta ( los dos últimos pasos con el botón derecho del ratón). Y cambia /dev/sdxx por LABEL=LABELNAME ( por ejemplo LABEL=Cruzer )

       

       

       

       

       

       

       

       

       

       

       

       

       

      mi blog: http://hatteras.wordpress.com/
    • Re: Script con rsync

      Escrito por Sanatas el 07/02/2012 18:10

      Sanatas

      Maestro Ancestral

      Envíos: 2460

      Prueba con esto:

      if [ `ls -a /dev/disk/by-uuid/|grep ad1dd9f8-fc33-4d58-b314-90218cc4539b` = "ad1dd9f8-fc33-4d58-b314-90218cc4539b" ]

      Para hacerlo más legible puedes poner el hash del usb en una variable y usarla en vez de toda la ristra de numerajos.

      pincho="ad1dd9f8-fc33-4d58-b314-90218cc4539b"

      O como dice Hatteras puedes usar el label pero de una forma más fácil en vez de by-uuid puedes poner by-label.

      • Re: Script con rsync

        Escrito por fjesusarroyo el 08/02/2012 15:44

        fjesusarroyo

        Iniciado

        Envíos: 23

        Hola gracias a ambos antes de nada.

         

        He preferido editar la etiqueta del dispositivo y denominarla "usb4gb", con esto obtengo similares resultados que muestro a continuación:

        ./scriptGuay.sh: línea 3: ((: ls -l /dev/disk/by-label/usb4gb : división por 0 (el elemento de error es "/disk/by-label/usb4gb ")

        Vuelvo a detallar el script tal como está ahora mismo:

         

        #! /bin/bash

         

        if (( ls -l /dev/disk/by-label/usb4gb )) ;

        then

        logger "$0: entro en la condicion Pendrive conectado"

        logger "$0: lanzo rsync"

        rsync -rutz /home/fjesusarroyo/documentosSalvadosPorScript/ /media/usb4gb/nuevoSalvadoAuto;

        sleep 5;

        logger "$0: desmonto la unidad"

        zenity --info --text "Copia de Seguridad realizada correctamente"

        umount /media/usb4gb;

        else

        logger "$0: no encontrado el pendrive de la copia de seguridad"

        exit;

        fi

        logger "$0: fin"

         

        He probado lanzar directamente la sentencia:

        ls -l /dev/disk/by-label/usb4gb funcionando OK

         

        tambien he lanzado directamente la sentencia:

        rsync -rutz bla bla bla  funcionando OK

        Lo que me queda es que he metido la pata en la condicion y no sé en qué.

         

        he consultado el log del sstema y me dice:

        "no encontrado el pendrive de la copia de seguridad"

        por lo tanto siempre me está entrando en la condición en que no se cumple la localización del pendrive con la sentencia ls -l /dev/by-label/usb4gb

        alucino con esto

        saludos

         

         

        Porque nosotros somos la encarnación local de Cosmos que ha crecido hasta tener consciencia de sí. Hemos empezado a contemplar nuestros orígenes: sustancia estelar que medita sobre las estrellas. Conjuntos organizados de decenas de miles de billones de billones de átomos que consideran la evolución de los átomos y rastrean el largo camino a través del cual llegó a surgir la consciencia, por lo menos aquí. Nosotros hablamos en nombre de la Tierra. Debemos nuestra obligación de sobrevivir no sólo a nosotros sino también a este Cosmos, antiguo y vasto, del cual procedemos. Carl Sagan-Cosmos
        • Re: Script con rsync

          Escrito por guadafan el 08/02/2012 16:42

          guadafan

          Maestro Ancestral

          Envíos: 2266

          Quita el doble paréntesis del if

          deja solo uno.

          ......
          • Re: Script con rsync

            Escrito por fjesusarroyo el 09/02/2012 15:49

            fjesusarroyo

            Iniciado

            Envíos: 23

            ¡¡ Genial !!

             

            Funciona correctamente !!

             

            Muchas gracias por la ayuda  

             

            y digo yo ¿como que ha dejado de funcionar?  acaso ha cambiado el lenguaje?? sin aviso alguno, antes me funcionaba tal como lo tenia (con los 2 parentésis)

             

             

            Saludos

            Porque nosotros somos la encarnación local de Cosmos que ha crecido hasta tener consciencia de sí. Hemos empezado a contemplar nuestros orígenes: sustancia estelar que medita sobre las estrellas. Conjuntos organizados de decenas de miles de billones de billones de átomos que consideran la evolución de los átomos y rastrean el largo camino a través del cual llegó a surgir la consciencia, por lo menos aquí. Nosotros hablamos en nombre de la Tierra. Debemos nuestra obligación de sobrevivir no sólo a nosotros sino también a este Cosmos, antiguo y vasto, del cual procedemos. Carl Sagan-Cosmos
Buscador
Menú
Los que más escribieron en el último año
1

guadafan

399
2

indiocabreao

342
3

hatteras

288
4

miancatri

225
5

sanatas

149
6

vendrell

123
7

cpcero

98
8

daniel2503

71
9

cmjmmrp

69
10

priest

64
11

fjsrey

62
12

chrysaor

56
13

acorantf

48
14

ghasthelm

46
15

espartaco

45
16

frjlara

42
17

dlobatod

41
 

Hecho con Plone CMS, el Sistema de Gestión de Contenidos de Fuentes Abiertos

Este sitio cumple con los siguientes estándares: