Guest User

Untitled

a guest
Mar 6th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. #!/usr/bin/ruby
  2.  
  3. class MysqlRailsSessionCleaner
  4. require 'rubygems'
  5. require 'mysql'
  6.  
  7. DB_USER = 'user'
  8. DB_PASS = 'pass'
  9. DB_HOST = 'host'
  10. DB_DEFAULT = 'mysql'
  11. LOG_PATH = '/var/log'
  12.  
  13. def self.purge_sessions
  14. log_info = ""
  15. db = Mysql.real_connect(DB_HOST, DB_USER, DB_PASS, DB_DEFAULT)
  16. res = db.query("SHOW DATABASES;")
  17. while row = res.fetch_row do
  18. db.select_db("#{row[0]}")
  19. table_res = db.query("SHOW TABLES LIKE 'sessions';")
  20. while table = table_res.fetch_row do
  21. if table[0] == 'sessions'
  22. db.query("DELETE FROM sessions WHERE updated_at < (CURRENT_TIMESTAMP - INTERVAL 3 HOUR)")
  23. log_info << "Deleted #{db.affected_rows} records from #{row[0]}\n"
  24. end
  25. end
  26. end
  27. db.close
  28.  
  29. # log the info
  30. File.open( "#{LOG_PATH}/session_cleanr_log", "a" ) do |the_file|
  31. the_file.puts "\n===== LOG CLEANSE #{Time.now} ====\n"
  32. the_file.puts "#{log_info}"
  33. the_file.puts "\n"
  34. end
  35. rescue Exception => ex
  36. puts ex
  37. end
  38. end
  39.  
  40. MysqlRailsSessionCleaner::purge_sessions
Add Comment
Please, Sign In to add comment