Documentation
4.6. Local file system monitor service¶
4.6.1. Introduction¶
This page describes the configuration options available for the local file system monitor service.
The service allows monitoring local file systems and emitting audit log events once files or sub-directories are changed inside the monitored path.
If the configured path does not exist, the service will fail to start.
If the configured path to monitor is removed while the service is running, its content is reported as removed and the service will continue to monitor the path and wait for it to be created. The service monitor will not stop or fail.
4.6.2. Working with the source monitor¶
4.6.2.1. Understanding the changes poll interval¶
When the changes_poll_interval passes, the application will read all files, folders, and attributes (size, last modification time, etc) found in the monitored folder. Each snapshot is then compared with the previous.
If there are changes between the snapshots, they are notified to the application.
Before doing the actual notification, the application will wait for changes to be considered stable as defined by another option, stable_interval.
Note
Lower values help detect changes quicker, but increase the load, CPU, and network usage for local and remote servers.
The poll interval might drift.
For example, with a value of 72000
and a transfer started at 15:35
,
the product might be busy at 15:35
.
In this case, the check is done only at 15:36
and the next check will be
scheduled for 17:36
.
4.6.2.2. Changing the file stable period settings¶
When a new file is created or a file starts to be modified, it is not processed by SFTPPlus right away. This allows an external program to finish handling the file.
If no other changes to the file are observed after this interval, it is then processed.
Criteria for a file to be considered stable:
Size is not changed.
Last modified time attribute is not changed.
The configured stable interval has elapsed.
After the last modification is observed, this interval is then allowed to pass.
Each change will reset the stable interval for the file itself since each file has its own stable counter.
Since changes can only be observed with a resolution defined by changes_poll_interval, the stable_interval needs to be a multiple.
The following will check new files every hour and transfer stable files after two hours, even if the stable_interval is lower:
[transfers/b904e6a6-c29b-4ccf-8abd-edcae4d3324f]
changes_poll_interval = 3600
stable_interval = 60
4.6.2.3. File age discovery¶
The file age is determined based on the file's modified attribute.
Some file copy tools provided by the operating system or 3rd party might preserver the file attribute during the copy operation. In this case, even if you make a new copy of a file, it will be observed as an old file by the SFTPPlus system.
Windows Explorer or command prompt tools will preserve the original modified date of the copied file.
Linux and macOS tools will update the modified date of the copied files. The modified data is preserved only when the copy operation is done in archive mode.
Below you can find the list of available configuration options for services of the monitor type, other than the standard service configuration options.
4.6.3. source_path¶
- Default value
Empty
- Optional
Yes
- Values
Absolute path on the local file system.
Relative path to the server installation folder.
- From version
2.10.0
- To version
None
- Description
Path to the monitored source folder.
4.6.4. recursive¶
- Default value
No
- Optional
Yes
- From version
2.10.0
- Values
Yes
No
- Description
Determines whether the monitor should look for source files and folders only in the configured path, or recurse in all its descendant folders.
4.6.5. changes_poll_interval¶
- Default value
10
- Optional
Yes
- From version
3.0.0
- Values
Number of seconds.
- Description
This is the time interval that defines the delay used to observe the changes in the monitored path and compare snapshots, a record of any changes, in a monitored folder.
When set to zero or a negative number, the default value is used.
4.6.6. stable_interval¶
- Default value
10
- Optional
Yes
- From version
2.10.0
- Values
Number of seconds.
- Description
This is the interval after which a file is considered stable if no changes are made to it.
These values should be greater than the value of changes_poll_interval.
4.6.7. source_filter¶
- Default value
Empty
- Optional
Yes
- From version
2.10.0
- Values
Globbing expression containing wildcard characters.
Regular expression
Empty
- Description
It can be configured using a Globbing expression or regular expression.
It defines the pattern used to select source files to be transferred. For more details about the syntax used by this configuration option see the matching expression documentation.
Only files matching the expression will be transferred.
A globbing expression can contain multiple file mask filtering rules, separated by the pipe character |.
If a globbing expression doesn't include path separators, it only matches the file name. The parent path is ignored.
When using regular expressions, only file names are matched.
Leave it empty to transfer all files.
Since 4.16.0, the globbing expression can be used to filter based on the full file path, not only on the file name part.
4.6.8. file_age_notification¶
- Default value
0
- Optional
Yes
- Values
Number of seconds.
- From version
4.0.0
- Description
Age in seconds after which an event is triggered for files which are not modified in that time.
A separate event is emitted for each file.
Set it to 0 to disable triggering this type of events.
It will check for older files based on the changes_poll_interval configuration.
4.6.9. file_age_auto_delete¶
- Default value
0
- Optional
Yes
- Values
Number of seconds.
- From version
3.52.0
- Description
Age in seconds after which a file is automatically deleted if it is still found in the monitored path.
A separate event is emitted for each deleted file.
Set it to 0 to disable automatically deleting files.
It will check for older files based on the changes_poll_interval configuration.
4.6.10. monitored_operations¶
- Default value
all
- Optional
Yes
- Values
Comma-separated values.
disable
all
exist
create
modify
rename
delete
- From version
3.52.0
- Description
Comma-separated list of file operations for which to emit notification events.
Each action has a separate event ID.
Set it to all for emitting events for any file operation.
Set it to disable to not emit events for file operations.
If both all and disable are defined at the same time, the monitor will emit events for all file operations, ignoring the disable value.