You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

gc.sh 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/env php
  2. <?php
  3. /*
  4. +-----------------------------------------------------------------------+
  5. | bin/gc.sh |
  6. | |
  7. | This file is part of the Roundcube Webmail client |
  8. | Copyright (C) 2013, The Roundcube Dev Team |
  9. | |
  10. | Licensed under the GNU General Public License version 3 or |
  11. | any later version with exceptions for skins & plugins. |
  12. | See the README file for a full license statement. |
  13. | |
  14. | PURPOSE: |
  15. | Trigger garbage collecting routines manually (e.g. via cronjob) |
  16. | |
  17. +-----------------------------------------------------------------------+
  18. | Author: Thomas Bruederli <roundcube@gmail.com> |
  19. +-----------------------------------------------------------------------+
  20. */
  21. define('INSTALL_PATH', realpath(__DIR__ . '/..') . '/' );
  22. require INSTALL_PATH.'program/include/clisetup.php';
  23. $rcmail = rcube::get_instance();
  24. $session_driver = $rcmail->config->get('session_storage', 'db');
  25. $session_lifetime = $rcmail->config->get('session_lifetime', 0) * 60 * 2;
  26. // Clean expired SQL sessions
  27. if ($session_driver == 'db' && $session_lifetime) {
  28. $db = $rcmail->get_dbh();
  29. $db->query("DELETE FROM " . $db->table_name('session')
  30. . " WHERE changed < " . $db->now(-$session_lifetime));
  31. }
  32. // Clean caches and temp directory
  33. $rcmail->gc();