The Aspera Watch Service (asperawatchd) is a file system change detection and snapshot
service for speed, scale and distributed sources. It discovers changes (new files and
directories, deleted items, renames, and so on) in source file systems immediately as
they occur, eliminating the need to scan the file system. It can be used on any local or
shares (CIFS, NFS) host.
Aspera Sync can be configured to use asperawatchd for fast synchronization of very
large numbers of files without scanning the directory. Aspera Sync can push files from a
local directory, pull files from a remote directory, or create a bi-directional session
between two directories as long as asperawatchd is properly configured to monitor both
directories.
Configure asperawatchd Client Settings
To push files from a host using
Aspera Watch Service to another host, configure asperawatchd on the client host. The
server host does not need to be configured. To configure asperawatchd, open the
aspera.conf file with an editor located at
C:\Program Files
(x86)\Aspera\Enterprise Server\etc\aspera.conf and add the
<watchd> section.
- Set <enabled> to true.
- Set <master> to true.
- Set the log level for <log_level>.
- Set a directory for <log_directory>.
- Set the data storage for <db_spec> (datastore:host:port).
By default, asperawatchd uses Redis with port 31415.
- Set directories in <watches> for asperawatchd to monitor.
<server>
<watchd>
<enabled>true</enabled>
<log_level>log</log_level>
<log_directory>C:\data\log</log_directory>
<max_directories>1000000</max_directories>
<max_queue>100000</max_queue>
<max_snapshots>10000</max_snapshots>
<master>true</master>
<db_spec>redis:localhost:31415</db_spec>
<scan_period>30m</scan_period>
<watches>
<watch>
<path>C:\data\D1</path>
</watch>
</watches>
</watchd>
</server>
The
<watch> section specifies directories for asperawatchd to monitor. When
starting a session with Apera Sync, Sync requests snapshots from asperawatchd, a process
which takes longer depending on the number of files in the directory. The asperawatchd
service periodically scans the directories specified in aspera.conf, reducing time spent
waiting for a new completed scan.
Tip: You can configure asperawatchd to
watch multiple directories, but Aspera recommends specifying a single
<watch> at the top level directory. Though you can specify as many
watches as needed, (for example, one for each directory), specifying a single watch
is the most efficient use of memory. To monitor both the C:\data and C:\data\D1 directories, specify C:\tmp as the path for the
<watch>.
Configure asperawatchd Server Settings
To pull files from another host
with asperawatchd, configure asperawatchd on the server host. The client host does not
need to be configured. To configure asperawatchd, open the aspera.conf file with an
editor located at
/opt/aspera/etc/aspera.conf and add the
<watchd> section.
- Set <enabled> to true.
- Set <master> to true.
- Set the log level for <log_level>.
- Set a directory for <log_directory>.
- Set the data storage for <db_spec> (datastore:host:port).
By default, asperawatchd uses Redis with port 31415.
<server>
<watchd>
<enabled>true</enabled>
<log_level>log</log_level>
<log_directory>C:\data\log</log_directory>
<max_directories>1000000</max_directories>
<max_queue>100000</max_queue>
<max_snapshots>10000</max_snapshots>
<master>true</master>
<db_spec>redis:localhost:31415</db_spec>
<scan_period>30m</scan_period>
</watchd>
</server>
You
must also set the data storage in the
default section or for a specific user.
To set data storage in the default section, add
<async_watchd> under the
default
section.
<async_watchd>datastore:host:port</async_watchd>
You
can include
<async_watchd> under the default section or an individual user's
entry. Adding
<async_watchd> under the default section uses asperawatchd for
all pull requests to the server while adding
<async_watchd> under a user's
aspera.conf entry uses asperawatchd only for pull requests using that user.
Adding
<async_watchd> Under the <default>
Section<default>
<async_watchd>redis:localhost:31415</async_watchd>
<async_watchd_snapshot_tolerance>1m</async_watchd_snapshot_tolerance>
</default>
Adding
<async_watchd> Under the <user>
Section<aaa>
<realms><realm>
<users>
<user>
<name>aspera</name>
<file_system>
<access><paths><path>
<absolute>C:\data\D1</absolute>
</path></paths></access>
</file_system>
<async_watchd>redis:localhost:31415</async_watchd>
<async_watchd_snapshot_tolerance>1m</async_watchd_snapshot_tolerance>
</user>
</users>
</realm></realms>
</aaa>
Tip: The snapshot tolerance option determines how frequently Aspera Sync
requests a snapshot from asperawatchd. If the current snapshot is older than the
specified time, Aspera Sync requests a new one. If a snapshot is created within the
interval, Sync uses the current snapshot as the current state of the directory.
Start the Aspera WatchD Service
Go to Start
> Administrative Tools > Services. Right-click Aspera WatchD and select
Start.