| Aspera Sync |
249
Basic usage
The filtering options can be intermixed and have the following behavior:
• Filtering rules are applied in the order they appear on the command line. If filtering rules are configured in
aspera.conf
, they are applied before the rules on the command line.
• Filtering is a process of exclusion, and include rules override exclude rules that follow them. Include rules cannot
add back files that are excluded by a preceding exclude rule.
• Unlike Ascp, include rules imply exclude all file and directory names that do not match.
• Filtering operates only on the set of files and directories in the transfer list. An include rule cannot add files or
directories that are not already part of the transfer list.
• Directories and files are visited in strict depth order.
Note:
When a directory is excluded, directories and files in it are also excluded and are not compared to any
following rules. For example, with the command-line options
--exclude="/images/" --include="/
images/icons/"
, the directory
/images/icons/
is not included or considered because
/images/
was
already excluded.
• In filtering rules, "\" is exclusively a quoting operator and "/" is the only path separator recognized.
• Case always matters, even when the scanned file system does not enforce such a distinction. For example, on
Windows FAT or NTFS file systems and macOS HPFS+, a file system search for "DEBUG" returns files "Debug"
and "debug". In contrast,
async
filter rules use exact comparison. To match both "Debug" and "debug" in a
async
filter, use "[Dd]ebug".
Example
Expected Behavior
--include="
rule1
" --
include="
rule2
"
Transfer all files and directories with names that match
rule1
or
rule2
.
All others are excluded.
--include="
rule1
" --
exclude="
rule2
"
Transfer all files and directories with names that match
rule1
, as well as
all other files and directories except those with names that match
rule2
.
--exclude="
rule1
" --
include="
rule2
"
Do not transfer files or directories with names that match
rule1
; of the
rest, transfer only those with names that match
rule2
.
--exclude-from=FILE1 --
include-from=FILE2
Read filter specifications from FILE1 and FILE2. Files and directories
with names that match rules in FILE1 are excluded by default, unless
the rule specifies otherwise. Files and directories with names that
match rules in FILE2 are included by default, unless the rule specifies
otherwise.
Sync Handling New and Renamed Files
Excluded
new files are invisible to
async
. Files that have been synchronized continue to be tracked even when they
have, or are changed to, a name that is now excluded. For example, when run with
--exclude FILE3
:
Local event
Effect on peer (previously
synchronized)
Clean start
mv FILE4 FILE3
mv FILE4 FILE3
rm FILE4
rm FILE3
rm FILE3
(ignored)
cp FILE4 FILE3
cp FILE4 FILE3
(ignored)
mv FILE3 FILE4
mv FILE3 FILE4
new file FILE4