Foros del Web » Administración de Sistemas » Unix / Linux »

Eliminar archivos de respaldo con bash.

Estas en el tema de Eliminar archivos de respaldo con bash. en el foro de Unix / Linux en Foros del Web. Buenas, les cuento uso este script para elimnar los archivos de respaldo que tengo(*.*~) @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Bash: Ver original # # Script: Clear tmp ...
  #1 (permalink)  
Antiguo 13/10/2010, 17:09
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años, 1 mes
Puntos: 890
Eliminar archivos de respaldo con bash.

Buenas, les cuento uso este script para elimnar los archivos de respaldo que tengo(*.*~)

Código Bash:
Ver original
  1. #
  2. # Script: Clear tmp files.
  3. # Descripcion: Script para borrar los archivos temporales del sistema.
  4. # Version: 0.04.
  5. # By warptrosse
  6. #
  7. #!/bin/bash
  8.  
  9. DATA=""
  10. DIR=""
  11. HELP=""
  12. function remove_temps {
  13. if [ -d "$DIR" ]; then
  14. DATA=$(find $DIR -iname '*.*~*' -printf '%p')
  15. rm $DATA
  16. echo -e "\nTemp files has been removed\t\t[ok]\n"
  17. else
  18. echo -e "\nERROR: Directory do not exist or not been correctly specified? (use -h (| ?help) for help)\n"
  19. fi
  20. }
  21. while [ "$1" != "" ]; do
  22. case $1 in
  23. -d | ?dir ) shift
  24. DIR=$1
  25. ;;
  26. -h | ?help ) shift
  27. HELP="OK"
  28. ;;
  29. * ) echo "ERROR: Unrecognized Option. (use -h (| ?help) for help)"
  30. exit
  31. esac
  32. shift
  33. done
  34. if [ "$HELP" != "OK" ]; then
  35. remove_temps $DIR
  36. else
  37. echo -e "\n---------------------------------------"
  38. echo "Remove tmp files (like .??~) (v0.04) By Warptrosse"
  39. echo "---------------------------------------"
  40. echo -e "\nTo remove tmp files use clear_tmp_files -d (| -dir) \n"
  41. fi
Que por cierto lo encuentran aca http://preguntaslinux.org/-bash-borr...es-t-2533.html

el script funciona bien, pero me da error cuando olos archivos tienen espacios(no son scripts en si son textos de ayuda que me envian) y son muchos como para eliminarlos manualmente.

Bueno le he dado mil vueltas para hecer que funcione pero siempre me lleva a uno u otro error. Si alguien me da una manito estaria la mar de agradecido :D
__________________
Drupal Argentina
  #2 (permalink)  
Antiguo 13/10/2010, 18:12
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 11 meses
Puntos: 36
Respuesta: Eliminar archivos de respaldo con bash.

Prueba cambiando la línea 14 y 15 por:

Código BASH:
Ver original
  1. find $DIR -iname '*.*~*' -exec rm -- "{}" \;

Lo que hace la línea 14 es encontrar todos los ficheros con terminación "~" y los que encuentre los pasa a una variable para después --línea 15-- hacer la eliminación con rm. Lo que te dejo hace lo mismo en un solo comando gracias al parámetro -exec del comando find. La diferencia es que haría la eliminación archivo por archivo --representado por {}-- y este estaría entre comillas por lo que los espacios no deberían darte problemas.


Sí, pésima mi explicación ... pero inténtalo --obvio, con cuidado-- y nos dices que pasa. Suerte
__________________
I ♥ The Music!
  #3 (permalink)  
Antiguo 13/10/2010, 18:39
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años, 1 mes
Puntos: 890
Respuesta: Eliminar archivos de respaldo con bash.

Hey Maturano, jamas se me hubiera ocurrido hacer eso :D ni mucho menos saber como buscar - sos un genio

Saludos y gracias!

PD: Ya me tocara y tendre tiempo de leer un poco sobre Bash.
__________________
Drupal Argentina
  #4 (permalink)  
Antiguo 13/10/2010, 19:01
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 11 meses
Puntos: 36
Respuesta: Eliminar archivos de respaldo con bash.

Entiendo que te funcionó correctamente .
__________________
I ♥ The Music!
  #5 (permalink)  
Antiguo 14/10/2010, 11:14
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Eliminar archivos de respaldo con bash.

find $DIR -name "*~" -delete


Etiquetas: bash, find, scripts
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:47.