first implementaton of systembackup

This commit is contained in:
Marko Oldenburg 2019-02-21 09:38:29 +01:00
parent e016f13a73
commit eb7b661058
2 changed files with 35 additions and 10 deletions

View File

@ -1,4 +1,4 @@
### Konfiguration ### Konfiguration für ein einfaches Backup
# wie soll das Verzeichnis heißen wo die Backups hin geschrieben werden # wie soll das Verzeichnis heißen wo die Backups hin geschrieben werden
BACKUPDIRNAME=fhem_backups BACKUPDIRNAME=fhem_backups
@ -55,3 +55,9 @@ DBNAMES=fhemLogHistory
# wo soll der Dump hingeschrieben werden # wo soll der Dump hingeschrieben werden
DBBACKUPPATH=/opt/fhem/backup DBBACKUPPATH=/opt/fhem/backup
### Konfiguration für ein einfaches Backup
# in welches Verzeichnis soll das Systembackupfile hingeschrieben werden
SYSTEMBACKUPDIRNAME=

View File

@ -53,6 +53,7 @@ sub createDBdump;
sub runBackup($); sub runBackup($);
sub _sendStateToFHEM($); sub _sendStateToFHEM($);
sub checkSendFHEMConnect($); sub checkSendFHEMConnect($);
sub MainSystemBackup;
################################################## ##################################################
# Variables: # Variables:
@ -65,8 +66,10 @@ my $self = {};
my ($conffile,$debug,$acount); my ($conffile,$debug,$acount);
$debug = 0; $debug = 0;
my @conffiles = split(/,/,parseOptions); my ($conffilestring,$mode) = parseOptions;
my @conffiles = split(/,/,$conffilestring);
$self->{configfiles} = \@conffiles; $self->{configfiles} = \@conffiles;
$self->{mode} = $mode;
$self->{config}->{TARCMDPATH} = qx(which tar); $self->{config}->{TARCMDPATH} = qx(which tar);
chomp($self->{config}->{TARCMDPATH}); chomp($self->{config}->{TARCMDPATH});
@ -75,12 +78,13 @@ unless ( defined($self->{config}->{TARCMDPATH}) and $self->{config}->{TARCMDPATH
exit 1; exit 1;
} }
MainBackup; MainBackup if ( $self->{mode} eq 'backup' );
MainSystemBackup if ( $self->{mode} eq 'system' );
exit 0; exit 0;
##### SUBS #### ##### SUBS for Backup ####
sub MainBackup { sub MainBackup {
@ -258,22 +262,25 @@ sub readConfigFile {
sub parseOptions { sub parseOptions {
my $conffiles = undef; my $conffiles = undef;
my $mode = 'backup';
GetOptions( GetOptions(
'configfiles|configs|c=s' => \$conffiles, 'backupMode|mode|m=s' => \$mode,
'configfiles|configs|c=s' => \$conffiles
) or usageExit; ) or usageExit;
usageExit unless ( defined($conffiles) ); $mode =~ m/^backup|system$/ or usageExit;
defined($conffiles) or usageExit;
return ($conffiles); return ($conffiles,$mode);
} }
sub usageExit { sub usageExit {
print('usage:' . "\n"); print('usage:' . "\n");
printf("\t" . '-c <configfile1>,<configfile2> ...' . "\n"); printf("\t" . '-c <configfile1>,<configfile2>... -m <backup|system>' . "\n");
printf("\t" . '-configs <configfile1>,<configfile2> ...' . "\n"); printf("\t" . '-configs <configfile1>,<configfile2>... -mode <backup|system>' . "\n");
printf("\t" . '--configfiles <configfile1>,<configfile2> ...' . "\n"); printf("\t" . '--configfiles <configfile1>,<configfile2> ...--backupMode <backup|system>' . "\n");
exit(1); exit(1);
} }
@ -323,6 +330,18 @@ sub createBackUpPathStructs($) {
return $state; return $state;
} }
##### SUBS for Systembackup ####
sub MainSystemBackup {
}
##### SUBS for FHEM ####
sub checkSendFHEMConnect($) { sub checkSendFHEMConnect($) {
my $fnState = shift; my $fnState = shift;