Current File : //proc/thread-self/root/usr/share/webmin/webalizer/backup_config.pl |
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, $module_config_directory, $cron_cmd, %config);
do 'webalizer-lib.pl';
# backup_config_files()
# Returns files and directories that can be backed up
sub backup_config_files
{
my @rv = ( $config{'webalizer_conf'} );
my $fh;
opendir($fh, $module_config_directory);
while(my $f = readdir($fh)) {
if ($f =~ /\.conf$/ || $f =~ /\.log$/) {
push(@rv, "$module_config_directory/$f");
}
}
closedir($fh);
return @rv;
}
# pre_backup(&files)
# Called before the files are actually read
sub pre_backup
{
return undef;
}
# post_backup(&files)
# Called after the files are actually read
sub post_backup
{
return undef;
}
# pre_restore(&files)
# Called before the files are restored from a backup
sub pre_restore
{
return undef;
}
# post_restore(&files)
# Called after the files are restored from a backup
sub post_restore
{
# Re-setup all needed cron jobs
&foreign_require("cron", "cron-lib.pl");
my @jobs = &cron::list_cron_jobs();
foreach my $log (&get_all_logs()) {
my $lconf = &get_log_config($log->{'file'});
if ($lconf->{'sched'}) {
my ($job) = grep { $_->{'command'} eq
"$cron_cmd $log->{'file'}" } @jobs;
if (!$job) {
# Need to create!
$job->{'user'} = 'root';
$job->{'active'} = 1;
$job->{'special'} = $lconf->{'special'};
$job->{'mins'} = $lconf->{'mins'};
$job->{'hours'} = $lconf->{'hours'};
$job->{'days'} = $lconf->{'days'};
$job->{'months'} = $lconf->{'months'};
$job->{'weekdays'} = $lconf->{'weekdays'};
$job->{'command'} = "$cron_cmd $log->{'file'}";
&cron::create_cron_job($job);
}
}
}
return undef;
}
1;