]>
Commit | Line | Data |
---|---|---|
6a672919 DM |
1 | #!/usr/bin/perl -T |
2 | ||
3 | $ENV{'PATH'} = '/sbin:/bin:/usr/sbin:/usr/bin'; | |
4 | ||
5 | delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; | |
6 | ||
7 | use strict; | |
8 | use warnings; | |
9 | ||
10 | use PVE::SafeSyslog; | |
11 | use PVE::INotify; | |
12 | use PVE::RESTEnvironment; | |
13 | ||
14 | use PMG::Utils; | |
15 | use PMG::Config; | |
16 | use PMG::ClusterConfig; | |
17 | use PMG::LDAPSet; | |
3d511edd DM |
18 | use PMG::DBTools; |
19 | use PMG::Statistic; | |
6a672919 DM |
20 | |
21 | $SIG{'__WARN__'} = sub { | |
22 | my $err = $@; | |
23 | my $t = $_[0]; | |
24 | chomp $t; | |
25 | print STDERR "$t\n"; | |
26 | syslog('warning', "%s", $t); | |
27 | $@ = $err; | |
28 | }; | |
29 | ||
30 | PVE::RESTEnvironment->setup_default_cli_env(); | |
31 | ||
461cb046 | 32 | initlog('pmg-hourly', 'mail'); |
6a672919 DM |
33 | |
34 | my $cfg = PMG::Config->new(); | |
35 | ||
36 | my $demo = $cfg->get('admin', 'demo'); | |
37 | ||
3d511edd | 38 | my $cinfo = PMG::ClusterConfig->new(); |
6a672919 DM |
39 | |
40 | if ($demo) { | |
41 | # fixme: generate fake statistics | |
42 | ||
43 | return; | |
44 | } | |
3d511edd DM |
45 | |
46 | if (my $statlifetime = $cfg->get ('admin', 'statlifetime')) { | |
47 | my $count = 0; | |
48 | eval { | |
49 | my $dbh = PMG::DBTools::open_ruledb(); | |
50 | $count = PMG::Statistic::cleanup_stats($dbh, $statlifetime); | |
51 | }; | |
52 | if (my $err = $@) { | |
53 | syslog('err', $err); | |
54 | } else { | |
55 | syslog('info', "cleanup removed $count entries from statistic database") if $count; | |
56 | } | |
57 | } | |
58 | ||
6a672919 DM |
59 | PMG::Utils::service_cmd('pmgpolicy', 'restart'); |
60 | ||
61 | my $ldap_cfg = PVE::INotify::read_file("pmg-ldap.conf"); | |
62 | PMG::LDAPSet::ldap_resync($ldap_cfg); | |
63 | ||
1d59f7e2 DM |
64 | # rotate razor log file |
65 | rename('/root/.razor/razor-agent.log', '/root/.razor/razor-agent.log.0'); | |
66 | ||
6a672919 DM |
67 | # sync bayes journal to database |
68 | system('sa-learn --sync >/dev/null 2>&1'); | |
69 | ||
70 | # make sure clamav-daemon is running | |
71 | PMG::Utils::service_cmd('clamav-daemon', 'start'); | |
72 | ||
73 | exit(0); | |
74 |