The Tivoli® Storage Manager server can define include-exclude options using the inclexcl parameter in a client option set.
The include-exclude statements specified by the server are evaluated along with those in the client options file. The server include-exclude statements are always enforced and placed at the bottom of the include-exclude list and evaluated before the client include-exclude statements.
If the client options file include-exclude list contains one or more inclexcl options that specify include-exclude files, the include-exclude statements in these files are placed in the list position occupied by the inclexcl option and processed accordingly.
If the dsm.sys file include-exclude list contains one or more inclexcl options that specify include-exclude files, the include-exclude statements in these files are placed in the list position occupied by the inclexcl option and processed accordingly.
A very large include-exclude list can decrease backup performance. Use wildcards and eliminate unnecessary include statements to keep the list as short as possible.
When performing an incremental backup, Tivoli Storage Manager evaluates all exclude.dir statements first, and removes the excluded directories and files from the list of objects available for processing.
When performing an incremental backup, Tivoli Storage Manager evaluates all exclude.fs and exclude.dir statements first, and removes the excluded file spaces, directories, and files from the list of objects available for processing.
After evaluating all exclude.dir statements, Tivoli Storage Manager evaluates the include-exclude list from the bottom up and stops when it finds an include or exclude statement that matches the file it is processing. The order in which the include and exclude options are entered therefore affects which files are included and excluded.
After evaluating all exclude.fs and exclude.dir statements, Tivoli Storage Manager evaluates the include-exclude statements for controlling symbolic link or alias processing (exclude.attribute.symlink and include.attribute.symlink) from the bottom up and stops if it finds an include or exclude statement that matches the file it is processing. After the include-exclude statements for controlling symbolic link or alias processing are processed, Tivoli Storage Manager evaluates the remaining include-exclude list from the bottom up and stops when it finds an include or exclude statement that matches the file it is processing. The order in which the include and exclude options are entered therefore affects which files are included and excluded.
To display a list of all include-exclude statements in effect on your client workstation in the actual order they are processed, use the query inclexcl command.
The client program processes the list of include-exclude statements according to the following rules:
EXCLUDE /.../*.cpp
INCLUDE "/Volumes/La Pomme/Foo/.../*.cpp"
EXCLUDE "/Volumes/La Pomme/Foo/Junk/*.cpp"
The file being processed is: /Volumes/La Pomme/Foo/Dev/test.cpp. Processing follows these steps:
EXCLUDE /.../*.cpp
INCLUDE "/Volumes/La Pomme/Foo/.../*.cpp"
EXCLUDE "/Volumes/La Pomme/Foo/Junk/*.cpp"
The file being processed is: /Volumes/La Pomme/Widget/Sample File. Processing follows these steps:
exclude *.o
include /home/foo/.../*.o
exclude /home/foo/junk/*.o
The file being processed is: /home/foo/dev/test.o. Processing follows these steps:
exclude *.obj
include /home/foo/.../*.o
exclude /home/foo/junk/*.o
The file being processed is: /home/widg/copyit.txt . Processing follows these steps:
exclude /.../*.o
include /home/foo/.../*.o
exclude /home/foo/junk/*.o
The current file being processed is: /home/lib/objs/printf.o. Processing follows these steps:
exclude.attribute.symlink /.../*
exclude /.../*.o
include /home/foo/.../*.o
exclude /home/foo/junk/*.o
The current file being processed is: /home/lib/objs/printf.o. Processing follows these steps:
exclude ?:\*.obj
include c:\foo\...\*.obj
exclude c:\foo\junk\*.obj
The file being processed is: c:\foo\dev\test.obj. Processing follows these steps:
exclude ?:\*.obj
include c:\foo\...\*.obj
exclude c:\foo\junk\*.obj
The file being processed is: c:\widg\copyit.bat. Processing follows these steps:
exclude ?:\...\*.obj
include c:\foo\...\*.obj
exclude c:\foo\junk\*.obj
The current file being processed is: c:\lib\objs\printf.obj. Processing follows these steps: