Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/local/bin/ruby
- # = writeFileConf.rb
- #
- # Autor:: pedro@ntonio.Torres
- # Producto:: konekto_01
- # Fecha:: 24/09/2017 - 02:02am
- #
- # == Descripcion
- # Dado un archivo y una serie de claves valores, se requiere sea actualizado
- # el contenido de dicho archivo con los valores indicados.
- #
- # Esta es una maqueda para la solición final al requerimiento.
- #
- # == Objetivos
- #
- # Los pasos de la solución para lo requerido son:
- # - Chambiar los permisos del archivo procesado para que pueda ser *tratado*
- # - Leer el contenido y filtrar la linea con el contenido a cambiar
- # - Grabar el nuevo contenido en el archivo procesado
- # - Restablecer los permisos del archivo procesado a su estado original
- #
- # === Mejoras pendientes
- #
- # Considerar lo siguiente como pendinte
- # * Leer los permisos que posee el archivo a tratar antes de ser cambiado,
- # para que luego puedan ser reestablecidos a su estado original.
- #
- # * Crear un hash indicando el nombre del archivo, etiquetas y valores a tratar
- #
- # * Llevar este script a una clase para ser implementada en el sistema
- #
- content_file = ""
- seek_str = "vim: syntax=apache ts=4 sw=4 sts=4 sr noet"
- file_process = "/etc/apache2/apache2.conf"
- commands_linux = [ "sudo chmod 0777 ", "sudo chmod 0644 " ]
- begin
- system( commands_linux[0].concat( file_process ) )
- unless $?.exitstatus == 0
- raise "no ejecuto el chmod....."
- end
- File.open( file_process, "a+" ).each_line do |l|
- if l.include? seek_str
- content_file.concat( "#-------------------\n\r" )
- content_file.concat( "# se cambio el texto\n\r" )
- else
- content_file.concat( l )
- end
- end
- File.write( file_process, content_file )
- system( commands_linux[1].concat( file_process ) )
- rescue Exception => e
- puts e.message
- puts e.backtrace.inspect
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement