Advertisement
Guest User

Untitled

a guest
Mar 17th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. include qw/Rex::Database::MySQL::Admin/;
  2.  
  3. use Rex::Logger;
  4. use Data::Dumper;
  5. use Time::Piece;
  6. use IO::File;
  7.  
  8. set mysql => user => 'root';
  9.  
  10. user "root";
  11. password "root_password";
  12.  
  13. group marketing_servers => qw/
  14. xx.xx.xx.xx
  15. xx.xx.xxx.x
  16. xxx.xx.xx.x
  17. /;
  18.  
  19. group test => "xx.xx.xx.xx";
  20.  
  21. desc "Get the timestamp when the users logged in for the last time";
  22. task last_logged_in => sub {
  23. my $connection = connection();
  24. my $ip = $connection->{server}->{name};
  25.  
  26. Rex::Logger::info( $ip );
  27.  
  28. my $result = Rex::Database::MySQL::Admin::execute({
  29. schema => 'otrs',
  30. sql => qq~
  31. SELECT u.login, p.preferences_value
  32. FROM user_preferences p
  33. LEFT OUTER JOIN users u
  34. ON p.user_id = u.id
  35. WHERE preferences_key = 'UserLastLogin'
  36. ~,
  37. });
  38.  
  39. my @lines = split /\n/, $result;
  40. shift @lines;
  41.  
  42. for my $line ( @lines ) {
  43. my ($user, $time) = split /\s+/, $line;
  44.  
  45. my $date = localtime $time;
  46.  
  47. my $fh = IO::File->new( './logged_in.csv', 'a' );
  48. $fh->say( join ';', map{ qq~"$_"~ }($ip, $user, $date->dmy('.') . ' ' . $date->hms()) );
  49. $fh->close;
  50. }
  51.  
  52. Rex::Logger::info( "ok" );
  53. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement