ESET Online Help

Search English
Select the category
Select the topic

Mirror Tool - Linux

Are you a Windows user?

The Mirror Tool is necessary for offline detection engine updates. If your client computers do not have an internet connection and need detection engine updates, you can use the Mirror Tool to download update files from ESET update servers and store them locally.


The Mirror Tool has these functions:

Module updates—It downloads detection engine updates and other program modules, but not auto-updates (uPCU).

Repository creation—It can create a full offline repository, including auto-updates (uPCU).

The Mirror Tool does not download ESET LiveGrid® data.


The target folder must be available for sharing, Samba/Windows or HTTP/FTP service, depending on how you want to have the updates accessible.

oESET security products for Windows - You can update them remotely using HTTP or a shared folder.

oESET security products for Linux/macOS - You can update them remotely only using HTTP. If you use a shared folder, it must be on the same computer as the ESET security product.

You must have a valid Offline license file that includes the Username and Password. When generating a license file, be sure to select the check box next to Include Username and Password. Also, you must type a license Name. An offline license file is needed for the activation of the Mirror Tool and generation of the update mirror.


How to use the Mirror Tool

1.Download the Mirror Tool from the ESET download page (Standalone installers section).

2.Unzip the downloaded archive.

3.Open the Terminal in the folder with the MirrorTool file and make the file executable:

chmod +x MirrorTool

4.Run the command below to view all available parameters for the Mirror Tool and its version:

./MirrorTool --help




All filters are case sensitive.

You can use the parameters to create the repository mirror or modules mirror:

arrow_down_business Parameters for both repository and modules mirror

arrow_down_business Repository-specific parameters

arrow_down_business Modules-specific parameters





When you use it, you must specify the full URL of the update server.


You must specify a path to your offline license file (as mentioned above).


No argument needed. If set, only level updates will be downloaded (nano updates will not be downloaded). Read more about update types in our Knowledgebase article.



Before using the --mirrorFileFormat parameter, ensure that you environment does not contain both earlier (6.5 and earlier) and later (6.6. and later) ESET security product versions. The incorrect usage of this parameter may result in incorrect updates of your ESET security products.

You can specify which type of update files will be downloaded. Possible values (case sensitive):

dat - Use this value if you have environment only with ESET security product versions 6.5 and earlier.

dll - Use this value if you have environment only with ESET security product versions 6.6 and later.

The parameter is ignored when creating a mirror for legacy products (ep4, ep5).


This optional parameter applies to the Mirror Tool distributed with ESET PROTECT 8.1 and later.

The Mirror Tool will download update files compatible with ESET PROTECT repository version you specify in the parameter argument in format x.x or x.x.x.x, for example: --compatibilityVersion 9.1 or --compatibilityVersion

The --compatibilityVersion parameter excludes the auto-updates (uPCU) from the mirror. If you need the auto-updates (uPCU) in your environment and want to decrease the mirror size, use the --filterFilePath parameter.


To reduce the amount of data dowloaded from the ESET repository, we recommend that you use the new parameters in Mirror Tool distributed with ESET PROTECT 9: --filterFilePath and --dryRun:

1.Create a filter in a JSON format (see --filterFilePath below).

2.Perform a test Mirror Tool run with the --dryRun parameter (see below) and adjust the filter as necessary.

3.Run the Mirror Tool with the --filterFilePath parameter and the defined download filter, together with --intermediateRepositoryDirectory and --outputRepositoryDirectory parameters.

4.Run the Mirror Tool regularly to always use the latest installers.


Use this optional parameter to filter ESET security products based on a text file in JSON format placed in the same folder as Mirror Tool, for example: --filterFilePath filter.txt).

arrow_down_business Filter configuration description:


When you use this optional parameter, Mirror Tool will not download any files, but it will generate a .csv file listing all packages that will be downloaded.


You can use this parameter without mandatory parameters --intermediateRepositoryDirectory and --outputRepositoryDirectory, for example: MirrorTool.exe --repositoryServer AUTOSELECT --dryRun test.csv.



Some ESET installers are language-generic (with the multilang language code) and the Mirror Tool will list them in the .csv file even if you specify languages in --filterFilePath.


If you use the --dryRun parameter and also --intermediateRepositoryDirectory and --outputRepositoryDirectory parameters, the Mirror Tool does not clear the outputRepositoryDirectory.


List all ESET products for which the Mirror Tool can download module updates (unless --excludedProducts is used).

The parameter is available from Mirror Tool versions: 1.0.1294.0 (Windows), 1.0.2226.0 (Linux).


The Mirror Tool creates a structure of folders different from what Endpoint mirror does. Each folder holds update files for a group of products. You have to specify the full path to the correct folder in the update settings of the product using the mirror.

For example, to update the ESET PROTECT 9 from the mirror set the Update server to (according to your HTTP server root location):


Note: The era6 mirror folder is common for these ESET remote management solutions: ERA 6, ESMC 7, ESET PROTECT.

arrow_down_business Language codes table

sudo ./MirrorTool --mirrorType regular \

--intermediateUpdateDirectory /tmp/mirrorTool/mirrorTemp \

--offlineLicenseFilename /tmp/mirrorTool/offline.lf \

--outputDirectory /tmp/mirrorTool/mirror

Here is an example of more advanced configuration for an offline repository with selected products, languages and enabled download of legacy files defined in the filter.txt file (see the file contents example in --filterFilePath details above):

sudo ./MirrorTool --repositoryServer AUTOSELECT \

--intermediateRepositoryDirectory /tmp/repoTemp \

--outputRepositoryDirectory /var/lib/tomcat9/webapps/mirrorRepo \

--filterFilePath filter.txt


We recommend that you delete commands containing sensitive data (for example, a password) from the command line history:

1.Run history to see the list of all commands in the history.

2.Run history -d line_number (specify the line number of the command). Alternatively, run history -c to delete the entire command line history.

Mirror Tool and Update settings

To automate downloads for modules updates, you can create a schedule to run the Mirror Tool. To do so, open your Web Console and click Client Tasks > Operating System > Run Command. Select Command line to run (including a path to the MirrorTool.exe) and a reasonable trigger (such as CRON for every hour 0 0 * * * ? *). Alternatively, you can use the Windows Task Scheduler or Cron in Linux.

To configure updates on a client computer(s), create a new policy and configure Update server to point to your mirror address or shared folder.