forked from webmin/webmin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbackup_config.pl
55 lines (47 loc) · 1.05 KB
/
backup_config.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
do 'cron-lib.pl';
# backup_config_files()
# Returns files and directories that can be backed up
sub backup_config_files
{
local @rv;
push(@rv, map { $_->{'file'} } &list_cron_jobs());
push(@rv, $config{'cron_allow_file'}) if ($config{'cron_allow_file'});
push(@rv, $config{'cron_deny_file'}) if ($config{'cron_deny_file'});
push(@rv, $config{'system_crontab'}) if ($config{'system_crontab'});
return &unique(@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
{
if (!$fcron) {
# Re-activate all user cron jobs
local $user;
opendir(DIR, $config{'cron_dir'});
while($user = readdir(DIR)) {
system("cp $config{'cron_dir'}/$user $cron_temp_file");
©_crontab($user);
}
closedir(DIR);
}
return undef;
}
1;