sergio_educacionit

file_archiver.sh

Aug 1st, 2026
6
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3.  
  4. date=$(date +%y%m%d_%H%M%S)
  5. origen=$1 # un fichero
  6. file_name=$(basename $origen)
  7. destino=$2 # un directorio
  8. destino=${destino%/} # quitamos la / del final si la tiene
  9.  
  10. if [ $UID -ne 0 ];then
  11.  
  12. # se ejecuta si la condicion es verdadera
  13. echo Debe ejeuctar este programa como 'root'.
  14. exit 1
  15. fi
  16.  
  17.  
  18.  
  19.  
  20. # verificar si se pasaron parametros al script
  21.  
  22. parametros="$@"
  23.  
  24. if [ -z "$parametros" ];then
  25.  
  26. echo "Uso: $0 /ruta/fichero /ruta/directorio"
  27. exit 1
  28. fi
  29.  
  30. # Verrificar si el primer parametro es un archivo
  31. # ! hace el el false se comprote como un true, si no es un archivo
  32. # entoces es verdadero
  33.  
  34. if ! [ -f $origen ]; then
  35.  
  36. echo \'$origen\' debe ser un fichero.
  37.  
  38. exit 1
  39.  
  40. fi
  41.  
  42. # Verificar si el parametro es un directorio
  43.  
  44. if ! [ -d "$destino" ]; then
  45.  
  46. echo \'${destino:-"no se paso nigun parametro"}\' debe ser un directorio.
  47.  
  48. exit 1
  49.  
  50. fi
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57. cp -a $origen ${destino}/${date}-${file_name}
  58. gzip ${destino}/${date}-${file_name}
  59. ls -1 ${destino}
  60.  
Advertisement
Add Comment
Please, Sign In to add comment