Server IP : 85.214.239.14 / Your IP : 18.218.231.116 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /srv/modoboa/env/lib/python3.5/site-packages/modoboa/core/management/commands/ |
Upload File : |
import datetime import logging from django.core.management.base import BaseCommand from django.utils import timezone from modoboa.core.models import Log from modoboa.parameters import tools as param_tools class Command(BaseCommand): """Command class.""" help = "Log table cleanup" # NOQA:A003 def add_arguments(self, parser): """Add extra arguments to command line.""" parser.add_argument( "--debug", action="store_true", default=False, help="Activate debug output") parser.add_argument( "--verbose", action="store_true", default=False, help="Display informational messages") def __vprint(self, msg): if not self.verbose: return print(msg) def handle(self, *args, **options): if options["debug"]: log = logging.getLogger("django.db.backends") log.setLevel(logging.DEBUG) log.addHandler(logging.StreamHandler()) self.verbose = options["verbose"] log_maximum_age = param_tools.get_global_parameter("log_maximum_age") self.__vprint("Deleting logs older than %d days..." % log_maximum_age) limit = timezone.now() - datetime.timedelta(log_maximum_age) Log.objects.filter(date_created__lt=limit).delete() self.__vprint("Done.")