]>
git.proxmox.com Git - pmg-api.git/blob - bin/pmg-daily
3 $ENV{'PATH'} = '/sbin:/bin:/usr/sbin:/usr/bin';
5 delete @ENV{qw(IFS CDPATH ENV BASH_ENV)};
13 use PVE
::RESTEnvironment
;
17 use PMG
::ClusterConfig
;
20 $SIG{'__WARN__'} = sub {
25 syslog
('warning', "%s", $t);
29 PVE
::RESTEnvironment-
>setup_default_cli_env();
31 initlog
('pmg-daily', 'mail');
33 my $cfg = PMG
::Config-
>new();
37 my ($sec, $min, $hour, $mday, $mon, $year) =
40 my $end = timelocal
(0, 0, 0, $mday, $mon, $year);
41 my $start = $end - 3600*24;
43 return ($start, $end);
46 my $statlifetime = $cfg->get('admin', 'statlifetime');
48 if ($statlifetime && $statlifetime > 0) {
49 my ($start, $end) = get_timespan
();
53 my $secs = $statlifetime * 86400;
57 # delete statistics older than $start
61 my ($srows, $rrows) = (0, 0);
64 my $dbh = PMG
::DBTools
::open_ruledb
();
68 my $sth = $dbh->prepare("DELETE FROM CStatistic WHERE time < $start");
75 "DELETE FROM CReceivers WHERE NOT EXISTS " .
76 "(SELECT * FROM CStatistic WHERE CID = CStatistic_CID AND RID = CStatistic_RID)");
86 $dbh->rollback if $dbh;
87 syslog
('err', PMG
::Utils
::msgquote
($err));
89 syslog
('info', "cleanup removed $srows entries from " .
90 "statistic database ($srows, $rrows)") if $srows;
93 $dbh->disconnect() if $dbh;
97 # fixme: check for available updates
99 # rotate razor log file
100 rename('/root/.razor/razor-agent.log', '/root/.razor/razor-agent.log.0');
102 # run bayes database maintainance
103 system('sa-learn --force-expire >/dev/null 2>&1');