Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
407
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.90 KB | None | 0 0
  1. #!/usr/local/bin/ruby
  2. # = writeFileConf.rb
  3. #
  4. # Autor::   pedro@ntonio.Torres
  5. # Producto::     konekto_01
  6. # Fecha::   24/09/2017 - 02:02am
  7. #
  8. # == Descripcion
  9. # Dado un archivo y una serie de claves valores, se requiere sea actualizado
  10. # el contenido de dicho archivo con los valores indicados.
  11. #
  12. # Esta es una maqueda para la solición final al requerimiento.
  13. #
  14. # == Objetivos
  15. #
  16. # Los pasos de la solución para lo requerido son:
  17. # - Chambiar los permisos del archivo procesado para que pueda ser *tratado*
  18. # - Leer el contenido y filtrar la linea con el contenido a cambiar
  19. # - Grabar el nuevo contenido en el archivo procesado
  20. # - Restablecer los permisos del archivo procesado a su estado original
  21. #
  22. # === Mejoras pendientes
  23. #
  24. # Considerar lo siguiente como pendinte
  25. # * Leer los permisos que posee el archivo a tratar antes de ser cambiado,
  26. #   para que luego puedan ser reestablecidos a su estado original.
  27. #
  28. # * Crear un hash indicando el nombre del archivo, etiquetas y valores a tratar
  29. #
  30. # * Llevar este script a una clase para ser implementada en el sistema
  31. #
  32.  
  33. content_file   = ""
  34. seek_str       = "vim: syntax=apache ts=4 sw=4 sts=4 sr noet"
  35. file_process   = "/etc/apache2/apache2.conf"
  36. commands_linux = [ "sudo chmod 0777 ", "sudo chmod 0644 " ]
  37.  
  38. begin  
  39.     system( commands_linux[0].concat( file_process ) )
  40.    
  41.     unless $?.exitstatus == 0
  42.         raise "no ejecuto el chmod....."
  43.     end
  44.    
  45.     File.open( file_process, "a+" ).each_line do |l|
  46.      
  47.       if l.include? seek_str
  48.          
  49.         content_file.concat( "#-------------------\n\r" )
  50.         content_file.concat( "# se cambio el texto\n\r" )
  51.       else
  52.          
  53.           content_file.concat( l )
  54.       end
  55.     end
  56.    
  57.     File.write( file_process, content_file )
  58.     system( commands_linux[1].concat( file_process ) )
  59. rescue Exception => e  
  60.  
  61.   puts e.message  
  62.   puts e.backtrace.inspect  
  63. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement