Moving Directories

You may transfer the entire contents of a directory hierarchy by specifying the "-h" option.

Getting a Directory

The following command will scan the specified remote directory, then download each file it finds.  Downloaded files will be placed in the specified local directory.  Subdirectories will be created locally, if needed, and their contents downloaded as well.

movedat -h user@server:remote_dir local_dir

Note that the source folder itself is not copied: the contents of the source folder will be placed inside the destination folder.  So "user@server:remote_dir/foo" will be copied to "local_dir/foo".  This syntax is different from that of copying a file to a destination folder in order maintain compatibility with the syncdat client.

If any of the files being downloaded already exist, you will be asked to confirm overwriting, unless you have set the "-y" option or "Yes" configuration variable.  Other files in the target directory or existing subdirectories will not be affected.

Sending a Directory

The following command will scan the specified local folder, then upload each file it finds.  Uploaded files will be placed in the specified remote directory.  Subdirectories will be created remotely, if needed, and their contents uploaded as well.

movedat -h local_dir user@server:remote_dir

Note that the source folder itself is not copied: the contents of the source folder will be placed inside the destination folder.  So "local_dir/foo" will be copied to "user@server:remote_dir/foo".  This syntax is different from that of copying a file to a destination folder in order maintain compatibility with the syncdat client.

If any of the files being uploaded already exist, they will be silently overwritten unless the server's NoOverwrite setting has been enabled.  Other files in the target directory or existing subdirectories will not be affected.

Performance

If a source folder contains a very large number of files, it may take several minutes to scan them all.  Each file will be transferred as a separate transaction.  If you will be routinely downloading large numbers of small files, you may find that packaging is more efficient.

Because hierarchial transfer may involve transferring thousands of files in a very short time, each transaction will be marked as "bulk".  The server may choose to filter out logging of individual bulk transactions.  Remote directory scans and directory creations will be logged as normal transactions.

Other Features

You may use wildcards to select multiple source directories.  You may not combine hierarchial transfers with packaging or piping.

Symbolic links to regular files will be followed as if the file itself were at that location.  Symbolic links to directories or special files are not currently supported and may produce unexpected results.  If you wish to replicate the links themselves, consider the SyncDat product.

ExpeDat will attempt to transfer all of the files in the source directory, even if identical copies already exist on the other side.  If you need the ability to compare directories and make only incremental transfers, consider the SyncDat product.