Include-exclude használat

Match from top down If you run dsmc q inclexcl -optfile=„C:\Program Files\Tivoli\tsm\TDPSql\dsm.opt”, you will see the outputs like the following:

(1). '*\…\copyfull*' in TSM Server:

  *** FILE INCLUDE/EXCLUDE ***
  Mode Function  Pattern (match from top down)  Source File
  ---- --------- ------------------------------ -----------------
  **Include All       *\...\copyfull*                Server**
  Include All       *\...\log\...\*                Server
  Include All       *\...\meta\...\*               Server
  Include All       *\...\data\...\*               Server

(2). '*\…\copyfull*' in client option file dsm.opt:

  *** FILE INCLUDE/EXCLUDE ***
  Mode Function  Pattern (match from top down)  Source File
  ---- --------- ------------------------------ -----------------
  Include All       *\...\log\...\*                Server
  Include All       *\...\meta\...\*               Server
  Include All       *\...\data\...\*               Server
  **Include All       *\...\copyfull*                C:\Program Files\Tivoli\tsm\TDPSql\dsm.opt**

Why the above (1) can work, but (2) cannot work? If you run 'select * from backups WHERE node_name='NODE NAME'', you will see the outputs like the following:

      NODE_NAME: WIN103_SQL
 FILESPACE_NAME: CHENGH-SP-103\data\0001
   FILESPACE_ID: 7
          STATE: ACTIVE_VERSION
           TYPE: FILE
        HL_NAME: \db103_2\copyfull\
        LL_NAME: 1
      OBJECT_ID: 1,827,849
    BACKUP_DATE: 2/12/24, 17:36:42
DEACTIVATE_DATE: 
          OWNER: 
     CLASS_NAME: TEST_ARCH2
    ACTUAL_SIZE: 

Actually, the full path is: \data\0001\db103_2\copyfull\, because match from top down, so For (1), it will match 'Include All *\…\copyfull* Server'. For (2). it will match 'Include All *\…\data\…\* Server'

In this page for example, it's stated that evaluation is from bottom up: https://www.ibm.com/docs/en/spectrum-protect/8.1.8?topic=list-include-exclude-option-processing

- So if I watch it from server side clopt, it's bottom up, if I check it from a client then evaluation is in reverse?

What you said is the outputs of the command: 'q cloptset' from OC or dsmadmc and you see the include/exclude options in dsm.opt/dsm.sys. What I said is the outputs of 'dsmc q inclexcl' from client node, which is the real matching order when you run backup.

For example:

1. Run 'q cloptset' from OC:

CHENGH-SP-73> q cloptset
Optionset	Description	Last Update by (administrator)	Managing profile	Replica Option Set
TEST_SET		ADMIN		No
Option	 Sequence number	Use Option Set Value (FORCE)	Option Value
INCLEXCL	0	               Yes	INCLUDE \...\data\...\* TEST_CLASS
INCLEXCL	1	               Yes	INCLUDE \...\meta\...\* TEST_BACKUPMGMT
INCLEXCL	2	               Yes	INCLUDE \...\log\...\* TEST_ARCHIVEMGMT
INCLEXCL    3                      Yes   Include *\...\copyfull* TEST_ARCH2

2. Run 'dsmc q inclexcl …' from client node:

C:\Program Files\Tivoli\tsm\baclient>dsmc q inclexcl -optfile="C:\Program Files\Tivoli\tsm\TDPSql\dsm.opt"
Include All       *\...\*\...\copyfull*          Server
Include All       *\...\log\...\*                Server
Include All       *\...\meta\...\*               Server
Include All       *\...\data\...\*               Server