Shell script simular pulsación tecla "INTRO"

Estoy haciendo un script para hacer copias de seguridad con CRON.

La intención es hacer un tar.gz, montar el directorio de samba (el server tiene w2003), copiar los ficheros, borrar el tar.gz local y desmontar el directorio del servidor.
cron_backup
#!/bin/bash
cd /home/reverendocabron/
tar -czf /home/reverendocabron/`date +%Y-%m-%d`.tar.gz /var/www /home/reverendocabron/Documentos
smbmount //192.168.1.98/server/ /media/backup -U reverendo
cp `date +%Y-%m-%d`.tar.gz /media/backup/User/reverendo/Backups/
rm `date +%Y-%m-%d`.tar.gz
smbumount /media/backup
exit


Los problemas son varios:
    no se como ejecutarlo con permisos de administrador para que no me pida la contraseña con "smbmount"
    Si lo ejecuto con "sudo sh cron_backup" me pide un password justo después del "smbmount" que solo presionando "intro" ya está.

Lo ideal sería que pudiera ejecutarlo sin que me pidiera permisos de administrador y simulando la contraseña.

¿Alguna idea de como resolverlo/modificarlo para que lo haga automáticamente?

Saludos gente.
No he leído el post completo, pero man yes te puede ayudar a hacer lo que dice el título.
Has probado a modificar etc/sudoers? ahi puedes personalizar el comando sudo.

Para que no te pida contraseña, tendras que poner algo del tipo:
sudo ALL=NOPASSWD: ALL
aunque en este caso no pedira nunca a nadie la contraseña cuando uses sudo, si quieres se puede personalizar para el uso de algún comando.

Por cierto, usa visudo para modificar este fichero, ya que visudo comprueba que el formato del fichero sea correcto, y no cargarte "sudo"

Saludos.
Según el man de smbmount ( http://linux.die.net/man/8/smbmount ), primero busca la variable de entorno PASSWD, si no existe pregunta al usuario, y también puede ser especificada como parámetro. Prueba a poner PASSWD como vacío o a pasarle el argumento password como vacío, a ver si cuela.
¡¡¡¡RESUELTOOOO!!!!

Al final con la opción "-o guest" en la orden smbmount ya lo he resuelto y el script me ha quedado tal que así:
#!/bin/bash
cd /home/reverendocabron/
tar -czf /home/reverendocabron/`date +%Y-%m-%d`.tar.gz /var/www /home/reverendocabron/Documentos
smbmount //192.168.1.98/server/ /media/backup -o guest
cp `date +%Y-%m-%d`.tar.gz /media/backup/User/reverendo/Backups/
rm `date +%Y-%m-%d`.tar.gz
smbumount /media/backup
exit


Funciona a la perfección, ahora a programar el CRON y listo, a "backupear" sin esfuerzo.

PD: El script es CC, jejeje.
Un consejo, asignale `date +%Y-%m-%d` a una variable y usala en vez de llamar de nuevo a date, un bug potencial seria si el tar termina despues de medianoche la fecha cambiaria con lo cual el cp y el rm fallarian al no coincidir las fechas.
6 respuestas