diff --git a/fhem/FHEM/99_updatefhem.pm b/fhem/FHEM/99_updatefhem.pm index eb76a1f7b..ab336d470 100644 --- a/fhem/FHEM/99_updatefhem.pm +++ b/fhem/FHEM/99_updatefhem.pm @@ -41,34 +41,37 @@ CommandUpdatefhem($$) my @commandchain = split(/ +/,$param); # Check if the first parameter is "backup" - if(uc($commandchain[0]) eq "BACKUP") { - my $backupdir = AttrVal("global", "backupdir", "/tmp/FHEM_Backup"); - # create the backupfolder - if(!-d $backupdir) { - if(!mkdir($backupdir)) { - return "Can't create backup folder $!"; - } - } - # full backup, for compatibility, we use the native copy unction, not - # dircopy from File::Copy::Recursive - if($commandchain[1] eq "") { - opendir(IMD, $moddir) || return "Cannot open fhem-module directory"; - my @files= readdir(IMD); - closedir(IMD); - my $f; - - foreach $f (@files) { - unless ( ($f eq ".") || ($f eq "..") ) { - my $ret = copy("$moddir/$f", "$backupdir/$f"); + if($param) { + my @commandchain = split(/ +/,$param); + if(uc($commandchain[0]) eq "BACKUP") { + my $backupdir = AttrVal("global", "backupdir", "/tmp/FHEM_Backup"); + # create the backupfolder + if(!-d $backupdir) { + if(!mkdir($backupdir)) { + return "Can't create backup folder $!"; } } - $param = ""; + # full backup, for compatibility, we use the native copy unction, not + # dircopy from File::Copy::Recursive + if($commandchain[1] eq "") { + opendir(IMD, $moddir) || return "Cannot open fhem-module directory"; + my @files= readdir(IMD); + closedir(IMD); + my $f; - } else { - # one file backup - copy("$moddir/$commandchain[1]", "$backupdir/$commandchain[1]"); - # recreate $param for further use - $param = $commandchain[1]; + foreach $f (@files) { + unless ( ($f eq ".") || ($f eq "..") ) { + my $ret = copy("$moddir/$f", "$backupdir/$f"); + } + } + $param = ""; + + } else { + # one file backup + copy("$moddir/$commandchain[1]", "$backupdir/$commandchain[1]"); + # recreate $param for further use + $param = $commandchain[1]; + } } }