mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-15 16:19:11 +00:00
93_DbRep: write TYPE uppercase with writeToDB option
git-svn-id: https://svn.fhem.de/fhem/trunk@27026 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
404e347000
commit
84cf72774b
@ -1,5 +1,7 @@
|
||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
||||
# Do not insert empty lines here, update check depends on it.
|
||||
- change: 93_DbRep: write TYPE uppercase with writeToDB option,
|
||||
Commandref edited
|
||||
- bugfix: 59_Weather: fix DarkSky API wrong funtion call
|
||||
- feature: 72_FRITZBOX: merged old 72_FRITZBOX with last Fork Version
|
||||
- bugfix: 59_Weather: bugfix function WeatherAsHtmlD not working
|
||||
|
@ -59,6 +59,7 @@ no if $] >= 5.017011, warnings => 'experimental::smartmatch';
|
||||
|
||||
# Version History intern
|
||||
my %DbRep_vNotesIntern = (
|
||||
"8.51.1" => "01.01.2023 write TYPE uppercase with writeToDB option, Commandref edited ",
|
||||
"8.51.0" => "02.01.2023 online formatting of sqlCmd, sqlCmdHistory, sqlSpecial, Commandref edited, get dbValue removed ".
|
||||
"sqlCmdBlocking customized like sqlCmd, bugfix avgTimeWeightMean ",
|
||||
"8.50.10" => "01.01.2023 Commandref edited ",
|
||||
@ -12713,8 +12714,11 @@ sub DbRep_OutputWriteToDB {
|
||||
|
||||
if(!$dbloghash->{HELPER}{COLSET}) {
|
||||
$err = "No result of \"$hash->{LASTCMD}\" to database written. Cause: column width in \"$hash->{DEF}\" isn't set";
|
||||
|
||||
Log3 ($name, 2, "DbRep $name - ERROR - $err");
|
||||
|
||||
$err = encode_base64($err,"");
|
||||
|
||||
return ($err,$wrt,$irowdone);
|
||||
}
|
||||
|
||||
@ -12723,7 +12727,7 @@ sub DbRep_OutputWriteToDB {
|
||||
my $aggr = (DbRep_checktimeaggr($hash))[2];
|
||||
$reading = $optxt."_".$aggr."_".AttrVal($name, "readingNameMap", $reading);
|
||||
|
||||
$type = $defs{$device}{TYPE} if($defs{$device}); # $type vom Device ableiten
|
||||
$type = uc($defs{$device}{TYPE}) if($defs{$device}); # $type vom Device übernehmen
|
||||
|
||||
if($optxt =~ /avg|sum/) {
|
||||
my @arr = split("\\|", $wrstr);
|
||||
@ -12770,7 +12774,6 @@ sub DbRep_OutputWriteToDB {
|
||||
}
|
||||
|
||||
if (defined $value) {
|
||||
# Daten auf maximale Länge beschneiden (DbLog-Funktion !)
|
||||
($device,$type,$event,$reading,$value,$unit) = DbLog_cutCol($dbloghash,$device,$type,$event,$reading,$value,$unit);
|
||||
|
||||
if($i == 0) {
|
||||
@ -12801,9 +12804,9 @@ sub DbRep_OutputWriteToDB {
|
||||
my %rh = split("§", $wrstr);
|
||||
|
||||
for my $key (sort(keys(%rh))) {
|
||||
my @k = split("\\|",$rh{$key});
|
||||
$value = defined($k[1])?sprintf("%.${ndp}f",$k[1]):undef;
|
||||
$rsf = $k[2]; # Datum / Zeit für DB-Speicherung
|
||||
my @k = split("\\|",$rh{$key});
|
||||
$value = defined($k[1])?sprintf("%.${ndp}f",$k[1]):undef;
|
||||
$rsf = $k[2]; # Datum / Zeit für DB-Speicherung
|
||||
|
||||
($date,$time) = split("_",$rsf);
|
||||
$time =~ s/-/:/g if($time);
|
||||
@ -12820,7 +12823,6 @@ sub DbRep_OutputWriteToDB {
|
||||
}
|
||||
}
|
||||
if ($value) {
|
||||
# Daten auf maximale Länge beschneiden (DbLog-Funktion !)
|
||||
($device,$type,$event,$reading,$value,$unit) = DbLog_cutCol($dbloghash,$device,$type,$event,$reading,$value,$unit);
|
||||
push(@row_array, "$date $time|$device|$type|$event|$reading|$value|$unit");
|
||||
}
|
||||
@ -12831,8 +12833,11 @@ sub DbRep_OutputWriteToDB {
|
||||
eval {$dbh = DBI->connect("dbi:$dbconn", $dbuser, $dbpassword, { PrintError => 0, RaiseError => 1, AutoCommit => 1, mysql_enable_utf8 => $utf8 });};
|
||||
if ($@) {
|
||||
$err = $@;
|
||||
|
||||
Log3 ($name, 2, "DbRep $name - ERROR - $@");
|
||||
|
||||
$err = encode_base64($err,"");
|
||||
|
||||
return ($err,$wrt,$irowdone);
|
||||
}
|
||||
|
||||
@ -12894,8 +12899,7 @@ sub DbRep_OutputWriteToDB {
|
||||
Log3($name, 2, "DbRep $name - ERROR - $@");
|
||||
}
|
||||
|
||||
# SQL-Startzeit
|
||||
my $wst = [gettimeofday];
|
||||
my $wst = [gettimeofday]; # SQL-Startzeit
|
||||
|
||||
my $ihs = 0;
|
||||
my $uhs = 0;
|
||||
@ -12910,8 +12914,7 @@ sub DbRep_OutputWriteToDB {
|
||||
$value = $a[5];
|
||||
$unit = $a[6];
|
||||
|
||||
eval {
|
||||
# update oder insert history
|
||||
eval { # update oder insert history
|
||||
if (lc($DbLogType) =~ m(history) ) {
|
||||
my $rv_uh = $dbh->do("UPDATE history SET TIMESTAMP=\"$timestamp\", DEVICE=\"$device\", READING=\"$reading\", TYPE=\"$type\", EVENT=\"$event\", VALUE=\"$value\", UNIT=\"$unit\" WHERE TIMESTAMP=\"$timestamp\" AND DEVICE=\"$device\" AND READING=\"$reading\"");
|
||||
$uhs += $rv_uh if($rv_uh);
|
||||
@ -12924,8 +12927,8 @@ sub DbRep_OutputWriteToDB {
|
||||
Log3 $hash->{NAME}, 4, "DbRep $name - INSERT history: $row, RESULT: $rv_ih";
|
||||
}
|
||||
}
|
||||
# update oder insert current
|
||||
if (lc($DbLogType) =~ m(current) ) {
|
||||
|
||||
if (lc($DbLogType) =~ m(current) ) { # update oder insert current
|
||||
my $rv_uc = $dbh->do("UPDATE current SET TIMESTAMP=\"$timestamp\", DEVICE=\"$device\", READING=\"$reading\", TYPE=\"$type\", EVENT=\"$event\", VALUE=\"$value\", UNIT=\"$unit\" WHERE DEVICE=\"$device\" AND READING=\"$reading\"");
|
||||
if ($rv_uc == 0) {
|
||||
$sth_ic->execute($timestamp,$device,$type,$event,$reading,$value,$unit);
|
||||
@ -12935,10 +12938,14 @@ sub DbRep_OutputWriteToDB {
|
||||
|
||||
if ($@) {
|
||||
$err = $@;
|
||||
|
||||
Log3 ($name, 2, "DbRep $name - ERROR - $@");
|
||||
|
||||
$dbh->rollback;
|
||||
$dbh->disconnect;
|
||||
|
||||
$err = encode_base64($err,"");
|
||||
|
||||
return ($err,$wrt,0);
|
||||
}
|
||||
}
|
||||
@ -12951,8 +12958,7 @@ sub DbRep_OutputWriteToDB {
|
||||
Log3 ($hash->{NAME}, 3, "DbRep $name - number of lines inserted into \"$dblogname\": $ihs");
|
||||
$irowdone = $ihs + $uhs;
|
||||
|
||||
# SQL-Laufzeit ermitteln
|
||||
$wrt = tv_interval($wst);
|
||||
$wrt = tv_interval($wst); # SQL-Laufzeit ermitteln
|
||||
}
|
||||
|
||||
return ($err,$wrt,$irowdone);
|
||||
@ -14223,172 +14229,174 @@ return;
|
||||
</li><br>
|
||||
|
||||
|
||||
<li><b> dumpMySQL [clientSide | serverSide]</b>
|
||||
- creates a dump of the connected MySQL database. <br>
|
||||
Depending from selected option the dump will be created on Client- or on Server-Side. <br>
|
||||
The variants differs each other concerning the executing system, the creating location, the usage of
|
||||
attributes, the function result and the needed hardware ressources. <br>
|
||||
The option "clientSide" e.g. needs more powerful FHEM-Server hardware, but saves all available
|
||||
tables inclusive possibly created views. <br>
|
||||
With attribute "dumpCompress" a compression of dump file after creation can be switched on.
|
||||
<br><br>
|
||||
<li><b> dumpMySQL [clientSide | serverSide]</b> <br><br>
|
||||
|
||||
Creates a dump of the connected MySQL database. <br>
|
||||
Depending from selected option the dump will be created on Client- or on Server-Side. <br>
|
||||
The variants differs each other concerning the executing system, the creating location, the usage of
|
||||
attributes, the function result and the needed hardware ressources. <br>
|
||||
The option "clientSide" e.g. needs more powerful FHEM-Server hardware, but saves all available
|
||||
tables inclusive possibly created views. <br>
|
||||
With attribute "dumpCompress" a compression of dump file after creation can be switched on.
|
||||
<br><br>
|
||||
|
||||
<ul>
|
||||
<b><u>Option clientSide</u></b> <br>
|
||||
The dump will be created by client (FHEM-Server) and will be saved in FHEM log-directory by
|
||||
default.
|
||||
The target directory can be set by attribute <a href="#DbRep-attr-dumpDirLocal">dumpDirLocal</a> and has to be
|
||||
writable by the FHEM process. <br>
|
||||
Before executing the dump a table optimization can be processed optionally (see attribute
|
||||
"optimizeTablesBeforeDump") as well as a FHEM-command (attribute "executeBeforeProc").
|
||||
After the dump a FHEM-command can be executed as well (see attribute "executeAfterProc"). <br><br>
|
||||
<ul>
|
||||
<b><u>Option clientSide</u></b> <br>
|
||||
The dump will be created by client (FHEM-Server) and will be saved in FHEM log-directory ((typical /opt/fhem/log/)) by
|
||||
default.
|
||||
The target directory can be set by attribute <a href="#DbRep-attr-dumpDirLocal">dumpDirLocal</a> and has to be
|
||||
writable by the FHEM process. <br>
|
||||
Before executing the dump a table optimization can be processed optionally (see attribute
|
||||
"optimizeTablesBeforeDump") as well as a FHEM-command (attribute "executeBeforeProc").
|
||||
After the dump a FHEM-command can be executed as well (see attribute "executeAfterProc"). <br><br>
|
||||
|
||||
<b>Note: <br>
|
||||
To avoid FHEM from blocking, you have to operate DbLog in asynchronous mode if the table
|
||||
optimization want to be used ! </b> <br><br>
|
||||
<b>Note: <br>
|
||||
To avoid FHEM from blocking, you have to operate DbLog in asynchronous mode if the table
|
||||
optimization want to be used ! </b> <br><br>
|
||||
|
||||
By the attributes <a href="#DbRep-attr-dumpMemlimit">dumpMemlimit</a> and
|
||||
<a href="#DbRep-attr-dumpSpeed">dumpSpeed</a> the run-time behavior of the function can be
|
||||
controlled to optimize the performance and demand of ressources. <br><br>
|
||||
By the attributes <a href="#DbRep-attr-dumpMemlimit">dumpMemlimit</a> and
|
||||
<a href="#DbRep-attr-dumpSpeed">dumpSpeed</a> the run-time behavior of the function can be
|
||||
controlled to optimize the performance and demand of ressources. <br><br>
|
||||
|
||||
The attributes relevant for function "dumpMySQL clientSide" are: <br><br>
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=5%> <col width=95%> </colgroup>
|
||||
<tr><td> <b>dumpComment </b> </td><td>: User comment in head of dump file </td></tr>
|
||||
<tr><td> <b>dumpCompress </b> </td><td>: compress of dump files after creation </td></tr>
|
||||
<tr><td> <b>dumpDirLocal </b> </td><td>: the local destination directory for dump file creation </td></tr>
|
||||
<tr><td> <b>dumpMemlimit </b> </td><td>: limits memory usage </td></tr>
|
||||
<tr><td> <b>dumpSpeed </b> </td><td>: limits CPU utilization </td></tr>
|
||||
<tr><td> <b>dumpFilesKeep </b> </td><td>: number of dump files to keep </td></tr>
|
||||
<tr><td> <b>executeBeforeProc </b> </td><td>: execution of FHEM command (or Perl-routine) before dump </td></tr>
|
||||
<tr><td> <b>executeAfterProc </b> </td><td>: execution of FHEM command (or Perl-routine) after dump </td></tr>
|
||||
<tr><td> <b>optimizeTablesBeforeDump </b> </td><td>: table optimization before dump </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
<br>
|
||||
The attributes relevant for function "dumpMySQL clientSide" are: <br><br>
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=5%> <col width=95%> </colgroup>
|
||||
<tr><td> <b>dumpComment </b> </td><td>: User comment in head of dump file </td></tr>
|
||||
<tr><td> <b>dumpCompress </b> </td><td>: compress of dump files after creation </td></tr>
|
||||
<tr><td> <b>dumpDirLocal </b> </td><td>: the local destination directory for dump file creation </td></tr>
|
||||
<tr><td> <b>dumpMemlimit </b> </td><td>: limits memory usage </td></tr>
|
||||
<tr><td> <b>dumpSpeed </b> </td><td>: limits CPU utilization </td></tr>
|
||||
<tr><td> <b>dumpFilesKeep </b> </td><td>: number of dump files to keep </td></tr>
|
||||
<tr><td> <b>executeBeforeProc </b> </td><td>: execution of FHEM command (or Perl-routine) before dump </td></tr>
|
||||
<tr><td> <b>executeAfterProc </b> </td><td>: execution of FHEM command (or Perl-routine) after dump </td></tr>
|
||||
<tr><td> <b>optimizeTablesBeforeDump </b> </td><td>: table optimization before dump </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
After a successfull finished dump the old dumpfiles are deleted and only the number of files
|
||||
defined by attribute "dumpFilesKeep" (default: 3) remain in the target directory
|
||||
"dumpDirLocal". If "dumpFilesKeep = 0" is set, all
|
||||
dumpfiles (also the current created file), are deleted. This setting can be helpful, if FTP transmission is used
|
||||
and the created dumps are only keep remain in the FTP destination directory. <br><br>
|
||||
After a successfull finished dump the old dumpfiles are deleted and only the number of files
|
||||
defined by attribute "dumpFilesKeep" (default: 3) remain in the target directory
|
||||
"dumpDirLocal". If "dumpFilesKeep = 0" is set, all
|
||||
dumpfiles (also the current created file), are deleted. This setting can be helpful, if FTP transmission is used
|
||||
and the created dumps are only keep remain in the FTP destination directory. <br><br>
|
||||
|
||||
The <b>naming convention of dump files</b> is: <dbname>_<date>_<time>.sql[.gzip] <br><br>
|
||||
The <b>naming convention of dump files</b> is: <dbname>_<date>_<time>.sql[.gzip] <br><br>
|
||||
|
||||
To rebuild the database from a dump file the command: <br><br>
|
||||
To rebuild the database from a dump file the command: <br><br>
|
||||
|
||||
<ul>
|
||||
set <name> restoreMySQL <filename> <br><br>
|
||||
</ul>
|
||||
<ul>
|
||||
set <name> restoreMySQL <filename> <br><br>
|
||||
</ul>
|
||||
|
||||
can be used. <br><br>
|
||||
can be used. <br><br>
|
||||
|
||||
The created dumpfile (uncompressed) can imported on the MySQL-Server by: <br><br>
|
||||
The created dumpfile (uncompressed) can imported on the MySQL-Server by: <br><br>
|
||||
|
||||
<ul>
|
||||
mysql -u <user> -p <dbname> < <filename>.sql <br><br>
|
||||
</ul>
|
||||
<ul>
|
||||
mysql -u <user> -p <dbname> < <filename>.sql <br><br>
|
||||
</ul>
|
||||
|
||||
as well to restore the database from dump file. <br><br><br>
|
||||
as well to restore the database from dump file. <br><br><br>
|
||||
|
||||
|
||||
<b><u>Option serverSide</u></b> <br>
|
||||
The dump will be created on the MySQL-Server and will be saved in its Home-directory
|
||||
by default. <br>
|
||||
The whole history-table (not the current-table) will be exported <b>CSV-formatted</b> without
|
||||
any restrictions. <br>
|
||||
<b><u>Option serverSide</u></b> <br>
|
||||
The dump will be created on the MySQL-Server and will be saved in its Home-directory
|
||||
by default. <br>
|
||||
The whole history-table (not the current-table) will be exported <b>CSV-formatted</b> without
|
||||
any restrictions. <br>
|
||||
|
||||
Before executing the dump a table optimization can be processed optionally (see attribute
|
||||
"optimizeTablesBeforeDump") as well as a FHEM-command (attribute "executeBeforeProc"). <br><br>
|
||||
Before executing the dump a table optimization can be processed optionally (see attribute
|
||||
"optimizeTablesBeforeDump") as well as a FHEM-command (attribute "executeBeforeProc"). <br><br>
|
||||
|
||||
<b>Note: <br>
|
||||
To avoid FHEM from blocking, you have to operate DbLog in asynchronous mode if the table
|
||||
optimization is used ! </b> <br><br>
|
||||
<b>Note: <br>
|
||||
To avoid FHEM from blocking, you have to operate DbLog in asynchronous mode if the table
|
||||
optimization is used ! </b> <br><br>
|
||||
|
||||
After the dump a FHEM-command can be executed as well (see attribute "executeAfterProc"). <br><br>
|
||||
After the dump a FHEM-command can be executed as well (see attribute "executeAfterProc"). <br><br>
|
||||
|
||||
The attributes relevant for function "dumpMySQL serverSide" are: <br><br>
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=5%> <col width=95%> </colgroup>
|
||||
<tr><td> <b>dumpDirRemote </b> </td><td>: destination directory of dump file on remote server </td></tr>
|
||||
<tr><td> <b>dumpCompress </b> </td><td>: compress of dump files after creation </td></tr>
|
||||
<tr><td> <b>dumpDirLocal </b> </td><td>: the local mounted directory dumpDirRemote </td></tr>
|
||||
<tr><td> <b>dumpFilesKeep </b> </td><td>: number of dump files to keep </td></tr>
|
||||
<tr><td> <b>executeBeforeProc </b> </td><td>: execution of FHEM command (or Perl-routine) before dump </td></tr>
|
||||
<tr><td> <b>executeAfterProc </b> </td><td>: execution of FHEM command (or Perl-routine) after dump </td></tr>
|
||||
<tr><td> <b>optimizeTablesBeforeDump </b> </td><td>: table optimization before dump </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
<br>
|
||||
The attributes relevant for function "dumpMySQL serverSide" are: <br><br>
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=5%> <col width=95%> </colgroup>
|
||||
<tr><td> <b>dumpDirRemote </b> </td><td>: destination directory of dump file on remote server </td></tr>
|
||||
<tr><td> <b>dumpCompress </b> </td><td>: compress of dump files after creation </td></tr>
|
||||
<tr><td> <b>dumpDirLocal </b> </td><td>: the local mounted directory dumpDirRemote </td></tr>
|
||||
<tr><td> <b>dumpFilesKeep </b> </td><td>: number of dump files to keep </td></tr>
|
||||
<tr><td> <b>executeBeforeProc </b> </td><td>: execution of FHEM command (or Perl-routine) before dump </td></tr>
|
||||
<tr><td> <b>executeAfterProc </b> </td><td>: execution of FHEM command (or Perl-routine) after dump </td></tr>
|
||||
<tr><td> <b>optimizeTablesBeforeDump </b> </td><td>: table optimization before dump </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
The target directory can be set by <a href="#DbRep-attr-dumpDirRemote">dumpDirRemote</a> attribute.
|
||||
It must be located on the MySQL-Host and has to be writable by the MySQL-server process. <br>
|
||||
The used database user must have the <b>FILE</b> privilege (see <a href="https://wiki.fhem.de/wiki/DbRep_-_Reporting_und_Management_von_DbLog-Datenbankinhalten#3._Backup_durchf.C3.BChren_2">Wiki</a>). <br><br>
|
||||
The target directory can be set by <a href="#DbRep-attr-dumpDirRemote">dumpDirRemote</a> attribute.
|
||||
It must be located on the MySQL-Host and has to be writable by the MySQL-server process. <br>
|
||||
The used database user must have the <b>FILE</b> privilege (see <a href="https://wiki.fhem.de/wiki/DbRep_-_Reporting_und_Management_von_DbLog-Datenbankinhalten#3._Backup_durchf.C3.BChren_2">Wiki</a>). <br><br>
|
||||
|
||||
<b>Note:</b> <br>
|
||||
If the internal version management of DbRep should be used and the size of the created dumpfile be
|
||||
reported, you have to mount the remote MySQL-Server directory "dumpDirRemote" on the client
|
||||
and publish it to the DbRep-device by fill out the <a href="#DbRep-attr-dumpDirLocal">dumpDirLocal</a> attribute. <br>
|
||||
Same is necessary if ftp transfer after dump is to be used (attribute "ftpUse" respectively "ftpUseSSL").
|
||||
<br><br>
|
||||
<b>Note:</b> <br>
|
||||
If the internal version management of DbRep should be used and the size of the created dumpfile be
|
||||
reported, you have to mount the remote MySQL-Server directory "dumpDirRemote" on the client
|
||||
and publish it to the DbRep-device by fill out the <a href="#DbRep-attr-dumpDirLocal">dumpDirLocal</a> attribute. <br>
|
||||
Same is necessary if ftp transfer after dump is to be used (attribute "ftpUse" respectively "ftpUseSSL").
|
||||
<br><br>
|
||||
|
||||
<ul>
|
||||
<b>Example: </b> <br>
|
||||
attr <name> dumpDirRemote /volume1/ApplicationBackup/dumps_FHEM/ <br>
|
||||
attr <name> dumpDirLocal /sds1/backup/dumps_FHEM/ <br>
|
||||
attr <name> dumpFilesKeep 2 <br><br>
|
||||
<ul>
|
||||
<b>Example: </b> <br>
|
||||
attr <name> dumpDirRemote /volume1/ApplicationBackup/dumps_FHEM/ <br>
|
||||
attr <name> dumpDirLocal /sds1/backup/dumps_FHEM/ <br>
|
||||
attr <name> dumpFilesKeep 2 <br><br>
|
||||
|
||||
# The dump will be created remote on the MySQL-Server in directory
|
||||
'/volume1/ApplicationBackup/dumps_FHEM/'. <br>
|
||||
# The internal version management searches in local mounted directory '/sds1/backup/dumps_FHEM/'
|
||||
for present dumpfiles and deletes these files except the last two versions. <br>
|
||||
<br>
|
||||
</ul>
|
||||
# The dump will be created remote on the MySQL-Server in directory
|
||||
'/volume1/ApplicationBackup/dumps_FHEM/'. <br>
|
||||
# The internal version management searches in local mounted directory '/sds1/backup/dumps_FHEM/'
|
||||
for present dumpfiles and deletes these files except the last two versions. <br>
|
||||
<br>
|
||||
</ul>
|
||||
|
||||
If the internal version management is used, after a successfull finished dump old dumpfiles will
|
||||
be deleted and only the number of attribute "dumpFilesKeep" (default: 3) would remain in target
|
||||
directory "dumpDirLocal" (the mounted "dumpDirRemote").
|
||||
In that case FHEM needs write permissions to the directory "dumpDirLocal". <br><br>
|
||||
If the internal version management is used, after a successfull finished dump old dumpfiles will
|
||||
be deleted and only the number of attribute "dumpFilesKeep" (default: 3) would remain in target
|
||||
directory "dumpDirLocal" (the mounted "dumpDirRemote").
|
||||
In that case FHEM needs write permissions to the directory "dumpDirLocal". <br><br>
|
||||
|
||||
The <b>naming convention of dump files</b> is: <dbname>_<date>_<time>.csv[.gzip] <br><br>
|
||||
The <b>naming convention of dump files</b> is: <dbname>_<date>_<time>.csv[.gzip] <br><br>
|
||||
|
||||
You can start a restore of table history from serverSide-Backup by command: <br><br>
|
||||
<ul>
|
||||
set <name> <restoreMySQL> <filename>.csv[.gzip] <br><br>
|
||||
</ul>
|
||||
You can start a restore of table history from serverSide-Backup by command: <br><br>
|
||||
<ul>
|
||||
set <name> <restoreMySQL> <filename>.csv[.gzip] <br><br>
|
||||
</ul>
|
||||
|
||||
<br><br>
|
||||
<br><br>
|
||||
|
||||
<b><u>FTP-Transfer after Dump</u></b> <br>
|
||||
If those possibility is be used, the attribute <a href="#DbRep-attr-ftpUse">ftpUse</a> or
|
||||
<a href="#DbRep-attr-ftpUseSSL">ftpUseSSL</a> has to be set. The latter if encoding for FTP is to be used.
|
||||
The module also carries the version control of dump files in FTP-destination by attribute
|
||||
"ftpDumpFilesKeep". <br>
|
||||
Further attributes are: <br><br>
|
||||
<b><u>FTP-Transfer after Dump</u></b> <br>
|
||||
If those possibility is be used, the attribute <a href="#DbRep-attr-ftpUse">ftpUse</a> or
|
||||
<a href="#DbRep-attr-ftpUseSSL">ftpUseSSL</a> has to be set. The latter if encoding for FTP is to be used.
|
||||
The module also carries the version control of dump files in FTP-destination by attribute
|
||||
"ftpDumpFilesKeep". <br>
|
||||
Further attributes are: <br><br>
|
||||
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=5%> <col width=95%> </colgroup>
|
||||
<tr><td> ftpUse </td><td>: FTP Transfer after dump will be switched on (without SSL encoding) </td></tr>
|
||||
<tr><td> ftpUser </td><td>: User for FTP-server login, default: anonymous </td></tr>
|
||||
<tr><td> ftpUseSSL </td><td>: FTP Transfer with SSL encoding after dump </td></tr>
|
||||
<tr><td> ftpDebug </td><td>: debugging of FTP communication for diagnostics </td></tr>
|
||||
<tr><td> ftpDir </td><td>: directory on FTP-server in which the file will be send into (default: "/") </td></tr>
|
||||
<tr><td> ftpDumpFilesKeep </td><td>: leave the number of dump files in FTP-destination <ftpDir> (default: 3) </td></tr>
|
||||
<tr><td> ftpPassive </td><td>: set if passive FTP is to be used </td></tr>
|
||||
<tr><td> ftpPort </td><td>: FTP-Port, default: 21 </td></tr>
|
||||
<tr><td> ftpPwd </td><td>: password of FTP-User, not set by default </td></tr>
|
||||
<tr><td> ftpServer </td><td>: name or IP-address of FTP-server. <b>absolutely essential !</b> </td></tr>
|
||||
<tr><td> ftpTimeout </td><td>: timeout of FTP-connection in seconds (default: 30). </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
</ul>
|
||||
|
||||
</li><br>
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=5%> <col width=95%> </colgroup>
|
||||
<tr><td> ftpUse </td><td>: FTP Transfer after dump will be switched on (without SSL encoding) </td></tr>
|
||||
<tr><td> ftpUser </td><td>: User for FTP-server login, default: anonymous </td></tr>
|
||||
<tr><td> ftpUseSSL </td><td>: FTP Transfer with SSL encoding after dump </td></tr>
|
||||
<tr><td> ftpDebug </td><td>: debugging of FTP communication for diagnostics </td></tr>
|
||||
<tr><td> ftpDir </td><td>: directory on FTP-server in which the file will be send into (default: "/") </td></tr>
|
||||
<tr><td> ftpDumpFilesKeep </td><td>: leave the number of dump files in FTP-destination <ftpDir> (default: 3) </td></tr>
|
||||
<tr><td> ftpPassive </td><td>: set if passive FTP is to be used </td></tr>
|
||||
<tr><td> ftpPort </td><td>: FTP-Port, default: 21 </td></tr>
|
||||
<tr><td> ftpPwd </td><td>: password of FTP-User, not set by default </td></tr>
|
||||
<tr><td> ftpServer </td><td>: name or IP-address of FTP-server. <b>absolutely essential !</b> </td></tr>
|
||||
<tr><td> ftpTimeout </td><td>: timeout of FTP-connection in seconds (default: 30). </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><b> dumpSQLite </b> - creates a dump of the connected SQLite database. <br>
|
||||
This function uses the SQLite Online Backup API and allow to create a consistent backup of the
|
||||
@ -15923,29 +15931,31 @@ sub bdump {
|
||||
new operation starts </li> <br>
|
||||
|
||||
<a id="DbRep-attr-seqDoubletsVariance"></a>
|
||||
<li><b>seqDoubletsVariance <positive variance [negative variance] [EDGE=negative|positive]> </b> <br>
|
||||
Accepted variance for the command "set <name> delSeqDoublets". <br>
|
||||
The value of this attribute describes the variance up to consecutive numeric values (VALUE) of
|
||||
datasets are handled as identical. If only one numeric value is declared, it is used as
|
||||
postive as well as negative variance and both form the "deletion corridor".
|
||||
Optional a second numeric value for a negative variance, separated by blank,can be
|
||||
declared.
|
||||
Always absolute, i.e. positive numeric values, have to be declared. <br>
|
||||
If the supplement "EDGE=negative" is declared, values at a negative edge (e.g. when
|
||||
value is changed from 4.0 -> 1.0) are not deleted although they are in the "deletion corridor".
|
||||
Equivalent is valid with "EDGE=positive" for the positive edge (e.g. the change
|
||||
from 1.2 -> 2.8).
|
||||
<br><br>
|
||||
<li><b>seqDoubletsVariance <positive variance [negative variance] [EDGE=negative|positive]> </b> <br><br>
|
||||
|
||||
Accepted variance for the command "set <name> delSeqDoublets". <br>
|
||||
The value of this attribute describes the variance up to consecutive numeric values (VALUE) of
|
||||
datasets are handled as identical. If only one numeric value is declared, it is used as
|
||||
postive as well as negative variance and both form the "deletion corridor".
|
||||
Optional a second numeric value for a negative variance, separated by blank,can be
|
||||
declared.
|
||||
Always absolute, i.e. positive numeric values, have to be declared. <br>
|
||||
If the supplement "EDGE=negative" is declared, values at a negative edge (e.g. when
|
||||
value is changed from 4.0 -> 1.0) are not deleted although they are in the "deletion corridor".
|
||||
Equivalent is valid with "EDGE=positive" for the positive edge (e.g. the change
|
||||
from 1.2 -> 2.8).
|
||||
<br><br>
|
||||
|
||||
<ul>
|
||||
<b>Examples:</b> <br>
|
||||
<code>attr <name> seqDoubletsVariance 0.0014 </code> <br>
|
||||
<code>attr <name> seqDoubletsVariance 1.45 </code> <br>
|
||||
<code>attr <name> seqDoubletsVariance 3.0 2.0 </code> <br>
|
||||
<code>attr <name> seqDoubletsVariance 1.5 EDGE=negative </code> <br>
|
||||
</ul>
|
||||
<br><br>
|
||||
</li>
|
||||
<ul>
|
||||
<b>Examples:</b> <br>
|
||||
<code>attr <name> seqDoubletsVariance 0.0014 </code> <br>
|
||||
<code>attr <name> seqDoubletsVariance 1.45 </code> <br>
|
||||
<code>attr <name> seqDoubletsVariance 3.0 2.0 </code> <br>
|
||||
<code>attr <name> seqDoubletsVariance 1.5 EDGE=negative </code> <br>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
|
||||
<a id="DbRep-attr-showproctime"></a>
|
||||
<li><b>showproctime </b> - if set, the reading "sql_processing_time" shows the required execution time (in seconds)
|
||||
@ -17088,172 +17098,174 @@ return;
|
||||
|
||||
</li> <br>
|
||||
|
||||
<li><b> dumpMySQL [clientSide | serverSide]</b>
|
||||
- erstellt einen Dump der angeschlossenen MySQL-Datenbank. <br>
|
||||
Abhängig von der ausgewählten Option wird der Dump auf der Client- bzw. Serverseite erstellt. <br>
|
||||
Die Varianten unterscheiden sich hinsichtlich des ausführenden Systems, des Erstellungsortes, der
|
||||
Attributverwendung, des erzielten Ergebnisses und der benötigten Hardwareressourcen. <br>
|
||||
Die Option "clientSide" benötigt z.B. eine leistungsfähigere Hardware des FHEM-Servers, sichert aber alle
|
||||
Tabellen inklusive eventuell angelegter Views. <br>
|
||||
Mit dem Attribut "dumpCompress" kann eine Komprimierung der erstellten Dumpfiles eingeschaltet werden.
|
||||
<br><br>
|
||||
<li><b> dumpMySQL [clientSide | serverSide]</b> <br><br>
|
||||
|
||||
Erstellt einen Dump der angeschlossenen MySQL-Datenbank. <br>
|
||||
Abhängig von der ausgewählten Option wird der Dump auf der Client- bzw. Serverseite erstellt. <br>
|
||||
Die Varianten unterscheiden sich hinsichtlich des ausführenden Systems, des Erstellungsortes, der
|
||||
Attributverwendung, des erzielten Ergebnisses und der benötigten Hardwareressourcen. <br>
|
||||
Die Option "clientSide" benötigt z.B. eine leistungsfähigere Hardware des FHEM-Servers, sichert aber alle
|
||||
Tabellen inklusive eventuell angelegter Views. <br>
|
||||
Mit dem Attribut "dumpCompress" kann eine Komprimierung der erstellten Dumpfiles eingeschaltet werden.
|
||||
<br><br>
|
||||
|
||||
<ul>
|
||||
<b><u>Option clientSide</u></b> <br>
|
||||
Der Dump wird durch den Client (FHEM-Rechner) erstellt und per default im log-Verzeichnis des Clients
|
||||
gespeichert.
|
||||
Das Zielverzeichnis kann mit dem Attribut <a href="#DbRep-attr-dumpDirLocal">dumpDirLocal</a> verändert werden und muß auf
|
||||
dem Client durch FHEM beschreibbar sein. <br>
|
||||
Vor dem Dump kann eine Tabellenoptimierung (Attribut "optimizeTablesBeforeDump") oder ein FHEM-Kommando
|
||||
(Attribut "executeBeforeProc") optional zugeschaltet werden.
|
||||
Nach dem Dump kann ebenfalls ein FHEM-Kommando (siehe Attribut "executeAfterProc") ausgeführt werden. <br><br>
|
||||
<ul>
|
||||
<b><u>Option clientSide</u></b> <br>
|
||||
Der Dump wird durch den Client (FHEM-Rechner) erstellt und per default im log-Verzeichnis des Clients
|
||||
(typisch /opt/fhem/log/) gespeichert.
|
||||
Das Zielverzeichnis kann mit dem Attribut <a href="#DbRep-attr-dumpDirLocal">dumpDirLocal</a> verändert werden und muß auf
|
||||
dem Client durch FHEM beschreibbar sein. <br>
|
||||
Vor dem Dump kann eine Tabellenoptimierung (Attribut "optimizeTablesBeforeDump") oder ein FHEM-Kommando
|
||||
(Attribut "executeBeforeProc") optional zugeschaltet werden.
|
||||
Nach dem Dump kann ebenfalls ein FHEM-Kommando (siehe Attribut "executeAfterProc") ausgeführt werden. <br><br>
|
||||
|
||||
<b>Achtung ! <br>
|
||||
Um ein Blockieren von FHEM zu vermeiden, muß DbLog im asynchronen Modus betrieben werden wenn die
|
||||
Tabellenoptimierung verwendet wird ! </b> <br><br>
|
||||
<b>Achtung ! <br>
|
||||
Um ein Blockieren von FHEM zu vermeiden, muß DbLog im asynchronen Modus betrieben werden wenn die
|
||||
Tabellenoptimierung verwendet wird ! </b> <br><br>
|
||||
|
||||
Über die Attribute <a href="#DbRep-attr-dumpMemlimit">dumpMemlimit</a> und <a href="#DbRep-attr-dumpSpeed">dumpSpeed</a>
|
||||
kann das Laufzeitverhalten der
|
||||
Funktion beeinflusst werden um eine Optimierung bezüglich Performance und Ressourcenbedarf zu erreichen. <br><br>
|
||||
Über die Attribute <a href="#DbRep-attr-dumpMemlimit">dumpMemlimit</a> und <a href="#DbRep-attr-dumpSpeed">dumpSpeed</a>
|
||||
kann das Laufzeitverhalten der
|
||||
Funktion beeinflusst werden um eine Optimierung bezüglich Performance und Ressourcenbedarf zu erreichen. <br><br>
|
||||
|
||||
Die für "dumpMySQL clientSide" relevanten Attribute sind: <br><br>
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=5%> <col width=95%> </colgroup>
|
||||
<tr><td> dumpComment </td><td>: User-Kommentar im Dumpfile </td></tr>
|
||||
<tr><td> dumpCompress </td><td>: Komprimierung des Dumpfiles nach der Erstellung </td></tr>
|
||||
<tr><td> dumpDirLocal </td><td>: das lokale Zielverzeichnis für die Erstellung des Dump </td></tr>
|
||||
<tr><td> dumpMemlimit </td><td>: Begrenzung der Speicherverwendung </td></tr>
|
||||
<tr><td> dumpSpeed </td><td>: Begrenzung die CPU-Belastung </td></tr>
|
||||
<tr><td> dumpFilesKeep </td><td>: Anzahl der aufzubwahrenden Dumpfiles </td></tr>
|
||||
<tr><td> executeBeforeProc </td><td>: ausführen FHEM Kommando (oder Perl-Routine) vor dem Dump </td></tr>
|
||||
<tr><td> executeAfterProc </td><td>: ausführen FHEM Kommando (oder Perl-Routine) nach dem Dump </td></tr>
|
||||
<tr><td> optimizeTablesBeforeDump </td><td>: Tabelloptimierung vor dem Dump ausführen </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
<br>
|
||||
Die für "dumpMySQL clientSide" relevanten Attribute sind: <br><br>
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=5%> <col width=95%> </colgroup>
|
||||
<tr><td> dumpComment </td><td>: User-Kommentar im Dumpfile </td></tr>
|
||||
<tr><td> dumpCompress </td><td>: Komprimierung des Dumpfiles nach der Erstellung </td></tr>
|
||||
<tr><td> dumpDirLocal </td><td>: das lokale Zielverzeichnis für die Erstellung des Dump </td></tr>
|
||||
<tr><td> dumpMemlimit </td><td>: Begrenzung der Speicherverwendung </td></tr>
|
||||
<tr><td> dumpSpeed </td><td>: Begrenzung die CPU-Belastung </td></tr>
|
||||
<tr><td> dumpFilesKeep </td><td>: Anzahl der aufzubwahrenden Dumpfiles </td></tr>
|
||||
<tr><td> executeBeforeProc </td><td>: ausführen FHEM Kommando (oder Perl-Routine) vor dem Dump </td></tr>
|
||||
<tr><td> executeAfterProc </td><td>: ausführen FHEM Kommando (oder Perl-Routine) nach dem Dump </td></tr>
|
||||
<tr><td> optimizeTablesBeforeDump </td><td>: Tabelloptimierung vor dem Dump ausführen </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
Nach einem erfolgreichen Dump werden alte Dumpfiles gelöscht und nur die Anzahl Files, definiert durch
|
||||
das Attribut "dumpFilesKeep" (default: 3), verbleibt im Zielverzeichnis "dumpDirLocal". Falls "dumpFilesKeep = 0"
|
||||
gesetzt ist, werden alle Dumpfiles (auch das aktuell erstellte File), gelöscht.
|
||||
Diese Einstellung kann sinnvoll sein, wenn FTP aktiviert ist
|
||||
und die erzeugten Dumps nur im FTP-Zielverzeichnis erhalten bleiben sollen. <br><br>
|
||||
Nach einem erfolgreichen Dump werden alte Dumpfiles gelöscht und nur die Anzahl Files, definiert durch
|
||||
das Attribut "dumpFilesKeep" (default: 3), verbleibt im Zielverzeichnis "dumpDirLocal". Falls "dumpFilesKeep = 0"
|
||||
gesetzt ist, werden alle Dumpfiles (auch das aktuell erstellte File), gelöscht.
|
||||
Diese Einstellung kann sinnvoll sein, wenn FTP aktiviert ist
|
||||
und die erzeugten Dumps nur im FTP-Zielverzeichnis erhalten bleiben sollen. <br><br>
|
||||
|
||||
Die <b>Namenskonvention der Dumpfiles</b> ist: <dbname>_<date>_<time>.sql[.gzip] <br><br>
|
||||
Die <b>Namenskonvention der Dumpfiles</b> ist: <dbname>_<date>_<time>.sql[.gzip] <br><br>
|
||||
|
||||
Um die Datenbank aus dem Dumpfile wiederherzustellen kann das Kommmando: <br><br>
|
||||
Um die Datenbank aus dem Dumpfile wiederherzustellen kann das Kommmando: <br><br>
|
||||
|
||||
<ul>
|
||||
set <name> restoreMySQL <filename> <br><br>
|
||||
</ul>
|
||||
<ul>
|
||||
set <name> restoreMySQL <filename> <br><br>
|
||||
</ul>
|
||||
|
||||
verwendet werden. <br><br>
|
||||
verwendet werden. <br><br>
|
||||
|
||||
Das erzeugte Dumpfile (unkomprimiert) kann ebenfalls mit: <br><br>
|
||||
Das erzeugte Dumpfile (unkomprimiert) kann ebenfalls mit: <br><br>
|
||||
|
||||
<ul>
|
||||
mysql -u <user> -p <dbname> < <filename>.sql <br><br>
|
||||
</ul>
|
||||
<ul>
|
||||
mysql -u <user> -p <dbname> < <filename>.sql <br><br>
|
||||
</ul>
|
||||
|
||||
auf dem MySQL-Server ausgeführt werden um die Datenbank aus dem Dump wiederherzustellen. <br><br>
|
||||
<br>
|
||||
auf dem MySQL-Server ausgeführt werden um die Datenbank aus dem Dump wiederherzustellen. <br><br>
|
||||
<br>
|
||||
|
||||
<b><u>Option serverSide</u></b> <br>
|
||||
Der Dump wird durch den MySQL-Server erstellt und per default im Home-Verzeichnis des MySQL-Servers
|
||||
gespeichert. <br>
|
||||
Es wird die gesamte history-Tabelle (nicht current-Tabelle) <b>im CSV-Format</b> ohne
|
||||
Einschränkungen exportiert. <br>
|
||||
Vor dem Dump kann eine Tabellenoptimierung (Attribut "optimizeTablesBeforeDump")
|
||||
optional zugeschaltet werden . <br><br>
|
||||
<b><u>Option serverSide</u></b> <br>
|
||||
Der Dump wird durch den MySQL-Server erstellt und per default im Home-Verzeichnis des MySQL-Servers
|
||||
gespeichert. <br>
|
||||
Es wird die gesamte history-Tabelle (nicht current-Tabelle) <b>im CSV-Format</b> ohne
|
||||
Einschränkungen exportiert. <br>
|
||||
Vor dem Dump kann eine Tabellenoptimierung (Attribut "optimizeTablesBeforeDump")
|
||||
optional zugeschaltet werden . <br><br>
|
||||
|
||||
<b>Achtung ! <br>
|
||||
Um ein Blockieren von FHEM zu vermeiden, muß DbLog im asynchronen Modus betrieben werden wenn die
|
||||
Tabellenoptimierung verwendet wird ! </b> <br><br>
|
||||
<b>Achtung ! <br>
|
||||
Um ein Blockieren von FHEM zu vermeiden, muß DbLog im asynchronen Modus betrieben werden wenn die
|
||||
Tabellenoptimierung verwendet wird ! </b> <br><br>
|
||||
|
||||
Vor und nach dem Dump kann ein FHEM-Kommando (siehe Attribute "executeBeforeProc", "executeAfterProc") ausgeführt
|
||||
werden. <br><br>
|
||||
Vor und nach dem Dump kann ein FHEM-Kommando (siehe Attribute "executeBeforeProc", "executeAfterProc") ausgeführt
|
||||
werden. <br><br>
|
||||
|
||||
Die für "dumpMySQL serverSide" relevanten Attribute sind: <br><br>
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=5%> <col width=95%> </colgroup>
|
||||
<tr><td> dumpDirRemote </td><td>: das Erstellungsverzeichnis des Dumpfile auf dem entfernten Server </td></tr>
|
||||
<tr><td> dumpCompress </td><td>: Komprimierung des Dumpfiles nach der Erstellung </td></tr>
|
||||
<tr><td> dumpDirLocal </td><td>: Directory des lokal gemounteten dumpDirRemote-Verzeichnisses </td></tr>
|
||||
<tr><td> dumpFilesKeep </td><td>: Anzahl der aufzubwahrenden Dumpfiles </td></tr>
|
||||
<tr><td> executeBeforeProc </td><td>: ausführen FHEM Kommando (oder Perl-Routine) vor dem Dump </td></tr>
|
||||
<tr><td> executeAfterProc </td><td>: ausführen FHEM Kommando (oder Perl-Routine) nach dem Dump </td></tr>
|
||||
<tr><td> optimizeTablesBeforeDump </td><td>: Tabelloptimierung vor dem Dump ausführen </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
<br>
|
||||
Die für "dumpMySQL serverSide" relevanten Attribute sind: <br><br>
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=5%> <col width=95%> </colgroup>
|
||||
<tr><td> dumpDirRemote </td><td>: das Erstellungsverzeichnis des Dumpfile auf dem entfernten Server </td></tr>
|
||||
<tr><td> dumpCompress </td><td>: Komprimierung des Dumpfiles nach der Erstellung </td></tr>
|
||||
<tr><td> dumpDirLocal </td><td>: Directory des lokal gemounteten dumpDirRemote-Verzeichnisses </td></tr>
|
||||
<tr><td> dumpFilesKeep </td><td>: Anzahl der aufzubwahrenden Dumpfiles </td></tr>
|
||||
<tr><td> executeBeforeProc </td><td>: ausführen FHEM Kommando (oder Perl-Routine) vor dem Dump </td></tr>
|
||||
<tr><td> executeAfterProc </td><td>: ausführen FHEM Kommando (oder Perl-Routine) nach dem Dump </td></tr>
|
||||
<tr><td> optimizeTablesBeforeDump </td><td>: Tabelloptimierung vor dem Dump ausführen </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
Das Zielverzeichnis kann mit dem Attribut <a href="#DbRep-attr-dumpDirRemote">dumpDirRemote</a> verändert werden.
|
||||
Es muß sich auf dem MySQL-Host gefinden und durch den MySQL-Serverprozess beschreibbar sein. <br>
|
||||
Der verwendete Datenbankuser benötigt das <b>FILE</b> Privileg (siehe <a href="https://wiki.fhem.de/wiki/DbRep_-_Reporting_und_Management_von_DbLog-Datenbankinhalten#3._Backup_durchf.C3.BChren_2">Wiki</a>). <br><br>
|
||||
Das Zielverzeichnis kann mit dem Attribut <a href="#DbRep-attr-dumpDirRemote">dumpDirRemote</a> verändert werden.
|
||||
Es muß sich auf dem MySQL-Host gefinden und durch den MySQL-Serverprozess beschreibbar sein. <br>
|
||||
Der verwendete Datenbankuser benötigt das <b>FILE</b> Privileg (siehe <a href="https://wiki.fhem.de/wiki/DbRep_-_Reporting_und_Management_von_DbLog-Datenbankinhalten#3._Backup_durchf.C3.BChren_2">Wiki</a>). <br><br>
|
||||
|
||||
<b>Hinweis:</b> <br>
|
||||
Soll die interne Versionsverwaltung und die Dumpfilekompression des Moduls genutzt, sowie die Größe des erzeugten
|
||||
Dumpfiles ausgegeben werden, ist das Verzeichnis "dumpDirRemote" des MySQL-Servers auf dem Client zu mounten
|
||||
und im Attribut <a href="#DbRep-attr-dumpDirLocal">dumpDirLocal</a> dem DbRep-Device bekannt zu machen. <br>
|
||||
Gleiches gilt wenn der FTP-Transfer nach dem Dump genutzt werden soll (Attribut "ftpUse" bzw. "ftpUseSSL").
|
||||
<br><br>
|
||||
<b>Hinweis:</b> <br>
|
||||
Soll die interne Versionsverwaltung und die Dumpfilekompression des Moduls genutzt, sowie die Größe des erzeugten
|
||||
Dumpfiles ausgegeben werden, ist das Verzeichnis "dumpDirRemote" des MySQL-Servers auf dem Client zu mounten
|
||||
und im Attribut <a href="#DbRep-attr-dumpDirLocal">dumpDirLocal</a> dem DbRep-Device bekannt zu machen. <br>
|
||||
Gleiches gilt wenn der FTP-Transfer nach dem Dump genutzt werden soll (Attribut "ftpUse" bzw. "ftpUseSSL").
|
||||
<br><br>
|
||||
|
||||
<ul>
|
||||
<b>Beispiel: </b> <br>
|
||||
attr <name> dumpDirRemote /volume1/ApplicationBackup/dumps_FHEM/ <br>
|
||||
attr <name> dumpDirLocal /sds1/backup/dumps_FHEM/ <br>
|
||||
attr <name> dumpFilesKeep 2 <br><br>
|
||||
<ul>
|
||||
<b>Beispiel: </b> <br>
|
||||
attr <name> dumpDirRemote /volume1/ApplicationBackup/dumps_FHEM/ <br>
|
||||
attr <name> dumpDirLocal /sds1/backup/dumps_FHEM/ <br>
|
||||
attr <name> dumpFilesKeep 2 <br><br>
|
||||
|
||||
# Der Dump wird remote auf dem MySQL-Server im Verzeichnis '/volume1/ApplicationBackup/dumps_FHEM/'
|
||||
erstellt. <br>
|
||||
# Die interne Versionsverwaltung sucht im lokal gemounteten Verzeichnis '/sds1/backup/dumps_FHEM/'
|
||||
vorhandene Dumpfiles und löscht diese bis auf die zwei letzten Versionen. <br>
|
||||
<br>
|
||||
</ul>
|
||||
# Der Dump wird remote auf dem MySQL-Server im Verzeichnis '/volume1/ApplicationBackup/dumps_FHEM/'
|
||||
erstellt. <br>
|
||||
# Die interne Versionsverwaltung sucht im lokal gemounteten Verzeichnis '/sds1/backup/dumps_FHEM/'
|
||||
vorhandene Dumpfiles und löscht diese bis auf die zwei letzten Versionen. <br>
|
||||
<br>
|
||||
</ul>
|
||||
|
||||
Wird die interne Versionsverwaltung genutzt, werden nach einem erfolgreichen Dump alte Dumpfiles gelöscht
|
||||
und nur die Anzahl "dumpFilesKeep" (default: 3) verbleibt im Zielverzeichnis "dumpDirRemote".
|
||||
FHEM benötigt in diesem Fall Schreibrechte auf dem Verzeichnis "dumpDirLocal". <br><br>
|
||||
Wird die interne Versionsverwaltung genutzt, werden nach einem erfolgreichen Dump alte Dumpfiles gelöscht
|
||||
und nur die Anzahl "dumpFilesKeep" (default: 3) verbleibt im Zielverzeichnis "dumpDirRemote".
|
||||
FHEM benötigt in diesem Fall Schreibrechte auf dem Verzeichnis "dumpDirLocal". <br><br>
|
||||
|
||||
Die <b>Namenskonvention der Dumpfiles</b> ist: <dbname>_<date>_<time>.csv[.gzip] <br><br>
|
||||
Die <b>Namenskonvention der Dumpfiles</b> ist: <dbname>_<date>_<time>.csv[.gzip] <br><br>
|
||||
|
||||
Ein Restore der Datenbank aus diesem Backup kann durch den Befehl: <br><br>
|
||||
<ul>
|
||||
set <name> <restoreMySQL> <filename>.csv[.gzip] <br><br>
|
||||
</ul>
|
||||
Ein Restore der Datenbank aus diesem Backup kann durch den Befehl: <br><br>
|
||||
<ul>
|
||||
set <name> <restoreMySQL> <filename>.csv[.gzip] <br><br>
|
||||
</ul>
|
||||
|
||||
gestartet werden. <br><br>
|
||||
gestartet werden. <br><br>
|
||||
|
||||
|
||||
<b><u>FTP Transfer nach Dump</u></b> <br>
|
||||
Wenn diese Möglichkeit genutzt werden soll, ist das Attribut <a href="#DbRep-attr-ftpUse">ftpUse</a> oder
|
||||
"ftpUseSSL" zu setzen. Letzteres gilt wenn eine verschlüsselte Übertragung genutzt werden soll. <br>
|
||||
Das Modul übernimmt ebenfalls die Versionierung der Dumpfiles im FTP-Zielverzeichnis mit Hilfe des Attributes
|
||||
"ftpDumpFilesKeep".
|
||||
Für die FTP-Übertragung relevante Attribute sind: <br><br>
|
||||
<b><u>FTP Transfer nach Dump</u></b> <br>
|
||||
Wenn diese Möglichkeit genutzt werden soll, ist das Attribut <a href="#DbRep-attr-ftpUse">ftpUse</a> oder
|
||||
"ftpUseSSL" zu setzen. Letzteres gilt wenn eine verschlüsselte Übertragung genutzt werden soll. <br>
|
||||
Das Modul übernimmt ebenfalls die Versionierung der Dumpfiles im FTP-Zielverzeichnis mit Hilfe des Attributes
|
||||
"ftpDumpFilesKeep".
|
||||
Für die FTP-Übertragung relevante Attribute sind: <br><br>
|
||||
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=5%> <col width=95%> </colgroup>
|
||||
<tr><td> ftpUse </td><td>: FTP Transfer nach dem Dump wird eingeschaltet (ohne SSL Verschlüsselung) </td></tr>
|
||||
<tr><td> ftpUser </td><td>: User zur Anmeldung am FTP-Server, default: anonymous </td></tr>
|
||||
<tr><td> ftpUseSSL </td><td>: FTP Transfer mit SSL Verschlüsselung nach dem Dump wird eingeschaltet </td></tr>
|
||||
<tr><td> ftpDebug </td><td>: Debugging des FTP Verkehrs zur Fehlersuche </td></tr>
|
||||
<tr><td> ftpDir </td><td>: Verzeichnis auf dem FTP-Server in welches das File übertragen werden soll (default: "/") </td></tr>
|
||||
<tr><td> ftpDumpFilesKeep </td><td>: Es wird die angegebene Anzahl Dumpfiles im <ftpDir> belassen (default: 3) </td></tr>
|
||||
<tr><td> ftpPassive </td><td>: setzen wenn passives FTP verwendet werden soll </td></tr>
|
||||
<tr><td> ftpPort </td><td>: FTP-Port, default: 21 </td></tr>
|
||||
<tr><td> ftpPwd </td><td>: Passwort des FTP-Users, default nicht gesetzt </td></tr>
|
||||
<tr><td> ftpServer </td><td>: Name oder IP-Adresse des FTP-Servers. <b>notwendig !</b> </td></tr>
|
||||
<tr><td> ftpTimeout </td><td>: Timeout für die FTP-Verbindung in Sekunden (default: 30). </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=5%> <col width=95%> </colgroup>
|
||||
<tr><td> ftpUse </td><td>: FTP Transfer nach dem Dump wird eingeschaltet (ohne SSL Verschlüsselung) </td></tr>
|
||||
<tr><td> ftpUser </td><td>: User zur Anmeldung am FTP-Server, default: anonymous </td></tr>
|
||||
<tr><td> ftpUseSSL </td><td>: FTP Transfer mit SSL Verschlüsselung nach dem Dump wird eingeschaltet </td></tr>
|
||||
<tr><td> ftpDebug </td><td>: Debugging des FTP Verkehrs zur Fehlersuche </td></tr>
|
||||
<tr><td> ftpDir </td><td>: Verzeichnis auf dem FTP-Server in welches das File übertragen werden soll (default: "/") </td></tr>
|
||||
<tr><td> ftpDumpFilesKeep </td><td>: Es wird die angegebene Anzahl Dumpfiles im <ftpDir> belassen (default: 3) </td></tr>
|
||||
<tr><td> ftpPassive </td><td>: setzen wenn passives FTP verwendet werden soll </td></tr>
|
||||
<tr><td> ftpPort </td><td>: FTP-Port, default: 21 </td></tr>
|
||||
<tr><td> ftpPwd </td><td>: Passwort des FTP-Users, default nicht gesetzt </td></tr>
|
||||
<tr><td> ftpServer </td><td>: Name oder IP-Adresse des FTP-Servers. <b>notwendig !</b> </td></tr>
|
||||
<tr><td> ftpTimeout </td><td>: Timeout für die FTP-Verbindung in Sekunden (default: 30). </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
</ul>
|
||||
</li><br>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><b> dumpSQLite </b> - erstellt einen Dump der angeschlossenen SQLite-Datenbank. <br>
|
||||
Diese Funktion nutzt die SQLite Online Backup API und ermöglicht es konsistente Backups der SQLite-DB
|
||||
@ -18535,6 +18547,7 @@ sub dbval {
|
||||
|
||||
<a id="DbRep-attr-dumpDirLocal"></a>
|
||||
<li><b>dumpDirLocal </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Zielverzeichnis für die Erstellung von Dumps mit "dumpMySQL clientSide" oder "dumpSQLite". <br>
|
||||
|
||||
@ -18820,30 +18833,32 @@ sub bdump {
|
||||
</li> <br>
|
||||
|
||||
<a id="DbRep-attr-seqDoubletsVariance"></a>
|
||||
<li><b>seqDoubletsVariance <positive Abweichung [negative Abweichung] [EDGE=negative|positive]> </b> <br>
|
||||
Akzeptierte Abweichung für das Kommando "set <name> delSeqDoublets". <br>
|
||||
Der Wert des Attributs beschreibt die Abweichung bis zu der aufeinanderfolgende numerische
|
||||
Werte (VALUE) von Datensätzen als gleich angesehen werden sollen.
|
||||
Ist in "seqDoubletsVariance" nur ein Zahlenwert angegeben, wird er sowohl als positive als
|
||||
auch negative Abweichung verwendet und bilden den "Löschkorridor".
|
||||
Optional kann ein zweiter Zahlenwert für eine negative Abweichung, getrennt durch
|
||||
Leerzeichen, angegeben werden.
|
||||
Es sind immer absolute, d.h. positive Zahlenwerte anzugeben. <br>
|
||||
Ist der Zusatz "EDGE=negative" angegeben, werden Werte an einer negativen Flanke
|
||||
(z.B. beim Wechel von 4.0 -> 1.0) nicht gelöscht auch wenn sie sich im "Löschkorridor"
|
||||
befinden. Entsprechendes gilt bei "EDGE=positive" für die positive Flanke (z.B. beim Wechel
|
||||
von 1.2 -> 2.8).
|
||||
<br><br>
|
||||
<li><b>seqDoubletsVariance <positive Abweichung [negative Abweichung] [EDGE=negative|positive]> </b> <br><br>
|
||||
|
||||
Akzeptierte Abweichung für das Kommando "set <name> delSeqDoublets". <br>
|
||||
Der Wert des Attributs beschreibt die Abweichung bis zu der aufeinanderfolgende numerische
|
||||
Werte (VALUE) von Datensätzen als gleich angesehen werden sollen.
|
||||
Ist in "seqDoubletsVariance" nur ein Zahlenwert angegeben, wird er sowohl als positive als
|
||||
auch negative Abweichung verwendet und bilden den "Löschkorridor".
|
||||
Optional kann ein zweiter Zahlenwert für eine negative Abweichung, getrennt durch
|
||||
Leerzeichen, angegeben werden.
|
||||
Es sind immer absolute, d.h. positive Zahlenwerte anzugeben. <br>
|
||||
Ist der Zusatz "EDGE=negative" angegeben, werden Werte an einer negativen Flanke
|
||||
(z.B. beim Wechel von 4.0 -> 1.0) nicht gelöscht auch wenn sie sich im "Löschkorridor"
|
||||
befinden. Entsprechendes gilt bei "EDGE=positive" für die positive Flanke (z.B. beim Wechel
|
||||
von 1.2 -> 2.8).
|
||||
<br><br>
|
||||
|
||||
<ul>
|
||||
<b>Beispiele:</b> <br>
|
||||
<code>attr <name> seqDoubletsVariance 0.0014 </code> <br>
|
||||
<code>attr <name> seqDoubletsVariance 1.45 </code> <br>
|
||||
<code>attr <name> seqDoubletsVariance 3.0 2.0 </code> <br>
|
||||
<code>attr <name> seqDoubletsVariance 1.5 EDGE=negative </code> <br>
|
||||
</ul>
|
||||
<br><br>
|
||||
</li>
|
||||
<ul>
|
||||
<b>Beispiele:</b> <br>
|
||||
<code>attr <name> seqDoubletsVariance 0.0014 </code> <br>
|
||||
<code>attr <name> seqDoubletsVariance 1.45 </code> <br>
|
||||
<code>attr <name> seqDoubletsVariance 3.0 2.0 </code> <br>
|
||||
<code>attr <name> seqDoubletsVariance 1.5 EDGE=negative </code> <br>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
|
||||
<a id="DbRep-attr-showproctime"></a>
|
||||
<li><b>showproctime </b> - wenn gesetzt, zeigt das Reading "sql_processing_time" die benötigte Abarbeitungszeit (in Sekunden)
|
||||
|
Loading…
x
Reference in New Issue
Block a user