---
canonical: https://safekit.evidian.com/products/high-availability-software-for-application-clustering/safekit-release-notes-8-2/
SafeKit 8.2 Release Notes — Part 3 of 7 — Major Changes 8.2 vs 7.5: Replication, Checkers & Module Config (sections 2.1.4–2.1.9)
---

### 2.1.4          Replication enhancement

#### 2.1.4.1       Replicate only

The regexpath attribute
of <notreplicated> tag has evolved to express the need to replicate only certain files
into a <replicated> directory.

|  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- |
| <notreplicated  regexpath="regular expression" /> | Regular expression on the name of entries under the replicated directory:  ·         **Replicate all except** entries matching the regular expression  For example, to avoid replicating entries with the extension .tmp or .bak in the /safedir directory or its sub-directories:  <replicated dir="/safedir">   <notreplicated regexpath=".\*\.tmp$" />   <notreplicated regexpath=".\*\.bak$" />  </replicated>  Note that /safedir/conf/config.tmp.swap is replicated.  ·         Since SafeKit 8.2  **Replicate** **only** those entries in the directory that match the regular expression after the **!**  For example, to replicate only entries with the extension .mdf or .ldf in the /safedir directory or its sub-directories:  <replicated dir="/safedir">   <notreplicated regexpath="**!**.\*\.mdf$" />   <notreplicated regexpath="**!**.\*\.ldf$" />  </replicated>      |  |  | | --- | --- | | Commentaire important contourCommentaire important contour | Rename between not replicated and replicated is not supported. |   The regex engine is POSIX Extended regex (see POSIX documentation):  ·         in Windows, case insensitive mode  ·         in Linux, case sensitive mode      |  |  | | --- | --- | | Commentaire important contourCommentaire important contour | As regular expressions are defined inside the XML file userconfig.xml, special characters interpreted by XML like '<' or '>' cannot be used in regular expressions. | |

#### 2.1.4.2       Replication of anti-ransomware folders in Windows

In Windows, protected folders can be
enabled as follow:

1. open Windows Security
2. select *Virus & heart protection*
   and *Manage ransomware protection*
3. set *Controlled access* to *on*
   and select *Protected folders* to add folders

Once done, you must allow SafeKit to access
such directories to replicate them. For this:

4. select *Allow an app through Controlled
   access folder*
5. *Add an allowed app*
6. *Browse all apps*
7. Add the following apps:

C:\safekit\private\bin\nfsbox.exe

C:\safekit\private\bin\reintegre.exe

C:\safekit\private\bin\sync.exe

C:\safekit\private\plugin\heart\heartplug.exe

Replace c:\safekit by the
installation path of SafeKit if you changed the default one.

### 2.1.5          Custom checker simplification

Since SafeKit 8.2, the custom checker
action can be defined with the action attribute of the <custom> tag instead of a failover rule configuration.

·        
Configuration example before SafeKit 8.2

…  
  <check>

    <custom ident="checkfile"
exec="checker.ps1"   
            arg="c:\safekit\checkfile" when="prim"/>

  </check>

  <failover>

      <![CDATA[

         c\_checkfile:

         if( custom.checkfile == down ) then
restart();

         ]]>

  </failover>

…

·        
Configuration example since SafeKit 8.2

…  
  <check>

    <custom ident="checkfile"
exec="checker.ps1"   
            arg="c:\safekit\checkfile" when="prim" **action="restart"**/>

  </check>

…

 

The
corresponding failover rule is automatically generated according to action
attribute value and is named c\_checkfile (ident value with the prefix c\_). So, the <failover>
section must be completely removed.

 

Refer to the section “Custom checker -
<custom>” of the [*SafeKit User’s Guide*](https://customercare.evidian.com/space/OPD/1208320038/SafeKit+8.2?attachment=https://customercare.evidian.com/download/attachments/1208320038/safekit82userguideen.pdf&type=application/pdf&filename=safekit82userguideen.pdf)for a complete description of the new syntax. The old syntax is
still supported.

### 2.1.6          Splitbrain checker enhancement

Since SafeKit 8.2.1, you can define
multiple witnesses to avoid a single point of failure on the witness. Configure
multiple witnesses by listing the IP address or name of each witness into the arg
attribute as follow:

<check>

  <splitbrain
ident="**witness**" exec="ping" arg="**192.168.1.100 192.168.1.120**"/>

</check>

 

The associated resource, splitbrain.witness is set to:

·        
up if at least one witness is responding

·        
down if all the witnesses are not responding

 

Refer to the section “Splitbrain checker -
<splitbrain>” of the [*SafeKit User’s Guide*](https://customercare.evidian.com/space/OPD/1208320038/SafeKit+8.2?attachment=https://customercare.evidian.com/download/attachments/1208320038/safekit82userguideen.pdf&type=application/pdf&filename=safekit82userguideen.pdf)for a complete description of the new syntax.

### 2.1.7          TCP checker simplification

Since SafeKit 8.2.3, use the action
attribute to define the action to be taken when an error is detected by the TCP
checker.

·        
Configuration example before SafeKit 8.2.3

<check>

 
<tcp ident="R1test" when="prim">

   
<to addr="R1" port="80"/>

 
</tcp>

</check>

The default
failover rule, named tcp\_failure, is static and performs a restart on connection failure.

·        
Configuration example since SafeKit 8.2

<check>

 
<tcp ident="R1test" when="prim"
action="restart" >

 <to addr="R1"
port="80"/>

 
</tcp>

</check>

The
corresponding failover rule is automatically generated according to action
attribute value and is named t\_R1test (ident value with the prefix t\_).

Refer to the section “TCP checker -
<tcp>” of the [*SafeKit User’s Guide*](https://customercare.evidian.com/space/OPD/1208320038/SafeKit+8.2?attachment=https://customercare.evidian.com/download/attachments/1208320038/safekit82userguideen.pdf&type=application/pdf&filename=safekit82userguideen.pdf)for a complete description of the new syntax. The old syntax is
still supported.

### 2.1.8          Ping checker simplification

Since SafeKit 8.2.3, use the action
attribute to define the action to be taken when an error is detected by the
ping checker.

·        
Configuration example before SafeKit 8.2.3

<check>

 
<ping ident="testR2">

   
<to addr="R2"/>

 
</ping>

</check>

The default
failover rule, named ping\_failure, is static and performs a wait on ping failure.

·        
Configuration example since SafeKit 8.2.3

<check>

 
<ping ident="testR2" action="wait">

   
<to addr="R2"/>

 
</ping>

</check>

The
corresponding failover rule is automatically generated according to action
attribute value and is named p\_testR2 (ident value with the prefix p\_).

Refer to the section “Ping checker -
<ping>” of the [*SafeKit User’s Guide*](https://customercare.evidian.com/space/OPD/1208320038/SafeKit+8.2?attachment=https://customercare.evidian.com/download/attachments/1208320038/safekit82userguideen.pdf&type=application/pdf&filename=safekit82userguideen.pdf)for a complete description of the new syntax. The old syntax is
still supported.

### 2.1.9          Module configuration with time-based attributes

Before SafeKit 8.2.5, configuration attributes
representing a duration (such as timeout, interval, pulse…)
were expressed as numeric values without explicitly specifying the time unit.

Starting with SafeKit version 8.2.5, most
of time- based attributes now explicitly support time units in their values.
This enhancement makes the settings more intuitive and eliminates ambiguity. The
previous syntax without explicit time units remains fully supported in SafeKit
8.2.5. Existing configurations will continue to function without any changes.

Refer to the section “Time-based attributes”
of the [*SafeKit User’s Guide*](https://customercare.evidian.com/space/OPD/1208320038/SafeKit+8.2?attachment=https://customercare.evidian.com/download/attachments/1208320038/safekit82userguideen.pdf&type=application/pdf&filename=safekit82userguideen.pdf)for a complete description of the new syntax.

