Installation & Configuration |
Specifying the database directory.
Each async session must have a unique name (as specified with -N). If multiple sessions sync the same directory or specify the same DB directory (-b/-B), then the session names must be unique. The snapshot DB records the session name and the sync directories (local and remote). If you initiate a second async session with the same name, using the same sync directory on one end but a different directory on the other end (or both directories are different, but the DB location is the same), async will fail.
Example 1: Bi-directional async
> -N ex1 -b c:/db -B d:/aspera/var -d c:/data/users -r admin@server:d:/storage/users -K bidi
The above command creates the following:
On the local computer (initiator):
On the remote computer (reactor):
Example 2: Uni-directional async
> -N ex2 -b c:/db -B d:/aspera/var -d c:/data/users -r admin@server:d:/storage/users -K push
The above command creates the following:
On the local computer (initiator):
c:/db/~private-asp/ex2/snap.db
On the remote computer (reactor):
d:/aspera/var/~private-asp/ex2/snap.db
d:/storage/users/ex2 (for transfer cache)
Changing direction between runs is not allowed. async will fail with an error message and you must run it with --reset or provide a new DB directory.
An async session cannot start when only one of the snapshot DB is present. If this is the case, you must either clean the DB or start async with --reset. The DB is located under the regular private directory by default, although its location can also be specified by startup parameters. Behavior with respect to presence of the private directory and DB file are as follows:
On the client:
On the remote:
If there is a discrepancy (local DB exists, but no remote; or, remote exists but no local), tell the client there is an error. If a subsequent run specifies different DB directories, the above behavior is preserved. In other words, even if a DB exists in the regular private directory or elsewhere, it assumes "there was no DB" if there isn’t a database in the specified directory.
To recover, stop async, delete the DB on the other side as well, and restart.