[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Script de backup



Elvis Aaron Presley escribió:
Hola lista, tengo un script de backup en un portatil en mi trabajo que de
manera programada (cron) se ejecuta de lunes a viernes y lo único que hace
es montar un disco externo usb, copiar y desmontar. El script y la
programación cron funcionan bien y es este:

***********************
#!/bin/bash

DIRECTORIOS="/home/adm5/Mis Documentos/Seguridad Enrique/"
PUNTOMONTAJE="/mnt/montaje"

echo -e "\033[0;32mOk:\033[0m Montando unidad para backup"
if mount -t vfat /dev/sdb1 $PUNTOMONTAJE -o rw ; then
        echo -e "\033[0;32mOk:\033[0m Unidad montada correctamente"
        echo -e "\033[0;32mOk:\033[0m Comenzando copia"
        cp "$DIRECTORIOS" -R $PUNTOMONTAJE

        if  [ "$?" = "0" ] ; then
                echo -e "\033[0;32mOk:\033[0m El backup se ha completado
satisfactoriamente"
                umount /mnt/montaje > /dev/null
        else
                echo -e "\033[0;31mError:\033[0m No se han podido copiar
algunos de los ficheros correctamente!!"
                umount /mnt/montaje > /dev/null
        fi
else
        echo -e "\033[0;31mError:\033[0m No se ha podido montar la unidad,
se aborta el backup!!"
fi
***********************

La línea con la que lo hago funcionar en el crontab es esta:
15 14 * * 1-5 root      sh /root/backup_hd.sh >/dev/null 2>&1

Bien, tengo dos dudas... A ver si alguien me puede ayudar porque esto ya
estaba funcionando de antes (vamos que no lo he hecho yo) y me gustaría
cambiar algunas cosas:

1. Cuando el script se ejecuta, lo hace en background y no se abre ninguna
ventana ni hay forma de saber si lo ha hecho bien o no.
Por defecto, si cualquier línea de tu script produce un error o lanza cualquier mensaje, no te vas a enterar porque ">/dev/null 2>&1". Puedes "eliminar" solo la salida estandard o solo la del error, en ese caso, los mensajes devueltos y no eliminados serán notificados al usuario que ejecuta el script "root" via mail.

Además puedes activar trazas en tu script, de manera que se genere la evolución de la ejecución en un fichero. Muy util para depurar scripts.

Solo se ve que la
luz del disco duro parpadea mucho y la del hd externo también, por lo que
entendemos que se hace... Pero me gustaría que en vez de hacerse por debajo
saltara alguna pantalla o algo para ver su ejecución.

2. Quiero poner en el escritorio un acceso directo para poder ejecutar este
script cuando quiera (a parte de que se ejecute en cron), y seré torpe
porque no hay manera de crear un lanzador que funcione!!!! ¿? Ni poniendo en
el comando a ejecutar "sh /root/backup_hd.sh" ni nada... El usuario del
escritorio tiene permisos sobre el fichero. ¿Qué estoy haciendo mal?
Imagino que tu problema debe basarse en permisos de ejecución del script o bien en permisos de ejecución de algun comando del script. En el primer caso, tan solo con ajustar los permisos correctamente, ya lo tienes solucionado. En el segundo caso, puedes utilizar el comando sudo.


Gracias lista.

Elvis





Reply to: