4 # backup_config_files()
5 # Returns files and directories that can be backed up
6 sub backup_config_files
8 &get_usermin_miniserv_config(\%miniserv);
9 local @rv = ( "$config{'usermin_dir'}/config",
10 "$config{'usermin_dir'}/miniserv.conf",
11 "$config{'usermin_dir'}/webmin.cats",
12 "$config{'usermin_dir'}/webmin.catnames",
13 "$config{'usermin_dir'}/usermin.mods",
15 $miniserv{'certfile'},
17 "$config{'usermin_dir'}/webmin.acl",
18 $miniserv{'userfile'},
19 "$config{'usermin_dir'}/user.acl",
21 foreach my $m (&list_modules()) {
22 push(@rv, "$config{'usermin_dir'}/$m->{'dir'}/config");
23 push(@rv, "$config{'usermin_dir'}/$m->{'dir'}/uconfig");
29 # Called before the files are actually read
36 # Called after the files are actually read
43 # Called before the files are restored from a backup
46 # Get current configs, for later merging
47 &get_usermin_miniserv_config(\%oldminiserv);
48 &read_file("$config{'usermin_dir'}/config", \%oldconfig);
52 # post_restore(&files)
53 # Called after the files are restored from a backup
56 # Merge in local settings that cannot be copied
58 &get_usermin_miniserv_config(\%miniserv);
59 foreach my $k (keys %oldminiserv) {
61 foreach my $keep ("root", "mimetypes", "logfile", "pidfile",
62 "env_WEBMIN_CONFIG", "env_WEBMIN_VAR", "logout",
64 $copy = 1 if ($k =~ /^$keep$/);
66 $miniserv{$k} = $oldminiserv{$k} if ($copy);
68 &put_usermin_miniserv_config(\%miniserv);
71 &read_file("$config{'usermin_dir'}/config", \%gconfig);
72 foreach my $k (keys %oldconfig) {
74 foreach my $nocopy ("os_type", "os_version",
75 "real_os_type", "real_os_version",
76 "find_pid_command", "ld_env", "passwd_.*") {
77 $copy = 1 if ($k =~ /^$keep$/);
79 $config{$k} = $oldconfig{$k} if ($copy);
81 &write_file("$config{'usermin_dir'}/config", \%gconfig);
83 &flush_modules_cache();
84 &restart_usermin_miniserv();