Advertisement
Guest User

Untitled

a guest
Jul 31st, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.47 KB | None | 0 0
  1. require 'logger'
  2. include FileUtils
  3.  
  4. log = Logger.new("/var/log/rbu.log", 5, 512*1024)
  5. log.level = Logger::INFO
  6. log.datetime_format = "%d/%m/%Y - %H:%M:%S"
  7.  
  8. destino = "/home/respaldos/"
  9. semana = "semana_#{Time.now.strftime("%W_del_%y")}/"
  10. semanal = "archivo/"
  11. ruta = "/usr/local/www/apache22/data/"
  12. carpeta = "vtigercrm/"
  13. archivo_diario = "respaldo_#{Time.now.strftime("%d_%m_%y")}"
  14. archivo_semanal = "semana_#{Time.now.strftime("%W_del_%y")}"
  15. semana_pasada = "semana_" (Time.now - 84600).strftime("%W_del_%y")
  16. extension = %w(.tgz .sql)
  17. db = "php_sos_backup"
  18. db_user = "php"
  19. db_pass = "devel"
  20.  
  21. log.info("*****************Realizando backup diario*****************")
  22. Dir.chdir(ruta)
  23. unless File.exists?(destino semana archivo_diario extension[0])
  24. Dir.mkdir(destino) unless File.directory?(destino)
  25. Dir.mkdir(destino semana) unless File.directory?(destino semana)
  26. log.debug("carpeta de exportacion: #{ruta carpeta archivo_diario extension[1]}")
  27. status = system("/usr/local/bin/mysqldump -u #{db_user} --password=#{db_pass} #{db} > #{ruta carpeta archivo_diario extension[1]}")
  28. status ? (log.info("base de datos exportada")) : (log.error("falla exportando base de datos"))
  29. status = system("tar zcf #{archivo_diario extension[0]} #{carpeta}")
  30. system("rm #{ruta carpeta archivo_diario extension[1]}")
  31. if status
  32. log.info("creado " ruta carpeta archivo_diario extension[0])
  33. FileUtils.mv archivo_diario extension[0], destino semana
  34. log.info("Moviendo respaldos a #{destino semana archivo_diario extension[0]}")
  35. else
  36. log.error("falla creando " ruta carpeta archivo_diario extension[0])
  37. end
  38. else
  39. log.warn("La tarea ya fue ralizada el dia de hoy")
  40. end
  41. Dir.chdir(destino)
  42. if Time.now.strftime("%a") == "Mon"
  43. log.info("**************Realizando backup Semanal**************")
  44. Dir.mkdir(semanal) unless File.directory?(semanal)
  45. unless File.exists?(semanal archivo_semanal extension[0])
  46. log.info("creando respaldo semanal")
  47. status = system("tar zcf #{archivo_semanal extension[0]} #{semana}")
  48. if status
  49. log.info("creando " destino semanal archivo_semanal extension[0])
  50. FileUtils.mv archivo_semanal extension[0], destino semanal
  51. else
  52. log.error("falla creando " ruta carpeta archivo_diario extension[0])
  53. end
  54. else
  55. log.warn("La tarea ya fue ralizada esta semana")
  56. end
  57. if File.directory?(semana_pasada)
  58. status_mkiso = system("/usr/local/bin/mkisofs -l -o tmp.iso #{semana_pasada}")
  59. if status_mkiso
  60. log.debug("Imagen ISO creada")
  61. status_cd = system("/usr/sbin/burncd -f /dev/acd0 -e data tmp.iso fixate")
  62. status_cd ? (log.info("CD grabado exitosamente")) : (log.fatal("falla burncd grabando CD"))
  63. FileUtils.rm 'tmp.iso'
  64. log.debug("Borrando imagen .iso")
  65. else
  66. log.fatal("Falla creando imagen (.iso) de archivos")
  67. log.error("Falla no se pudo grabar CD no existe archivo ISO")
  68. end
  69. else
  70. log.warn("No hay carpeta para quemar")
  71. end
  72. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement