TapeTrack Documentation

Because there is more to tape management than you ever realized

User Tools

Site Tools


cookbook:tsm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cookbook:tsm [2021/03/19 02:00] – [Synchronization] Scott Cunliffecookbook:tsm [2025/01/21 22:07] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Tivoli Storage Manager Sync Cookbook ====== ====== Tivoli Storage Manager Sync Cookbook ======
  
-Tivoli Storage Manager (or TSM) is IBM's enterprise backup solution, and provides both a [[technote:commandline|Command Line]] interface program that can be used to query the information required for synchronizationand ODBC driver that allows you to directly query data from the TSM database.+Tivoli Storage Manager (or TSM) is IBM's enterprise backup solution, and provides both a [[technote:commandline|Command Line]] interface program that can be used to query the information required for synchronization and ODBC driver that allows you to directly query data from the TSM database.
  
 TSM is designed around several database tables that must be queried to get a complete list of tapes.  TSM is designed around several database tables that must be queried to get a complete list of tapes. 
Line 33: Line 33:
   * stgpool_name: Used to set the [[object:volume|Volume]] [[object:volume|Description]].   * stgpool_name: Used to set the [[object:volume|Volume]] [[object:volume|Description]].
  
-<sxh>+<code>
 dsmadmc -dataonly=yes -id=userid -pa=password -tcpserveraddress=tsm01.gazillabyte.local \ dsmadmc -dataonly=yes -id=userid -pa=password -tcpserveraddress=tsm01.gazillabyte.local \
         -displaymode=table -outfile=TSM-DRM.csv -commadelimited "select volume_name,state,stgpool_name from drmedia"         -displaymode=table -outfile=TSM-DRM.csv -commadelimited "select volume_name,state,stgpool_name from drmedia"
-</sxh>+</code>
  
 === From the Volume table: === === From the Volume table: ===
Line 44: Line 44:
   * location: Used to determine the location the [[object:volume|Volume]] is.   * location: Used to determine the location the [[object:volume|Volume]] is.
   * stgpool_name: Used to set the [[object:volume|Volume]] [[object:volume|Description]].   * stgpool_name: Used to set the [[object:volume|Volume]] [[object:volume|Description]].
-<sxh>+<code>
 dsmadmc -dataonly=yes -id=userid -pa=password -tcpserveraddress=tsm01.gazillabyte.local \ dsmadmc -dataonly=yes -id=userid -pa=password -tcpserveraddress=tsm01.gazillabyte.local \
         -displaymode=table -outfile=TSM-VOL.csv -commadelimited "select volume_name,location,stgpool_name from volumes"         -displaymode=table -outfile=TSM-VOL.csv -commadelimited "select volume_name,location,stgpool_name from volumes"
-</sxh>+</code>
  
 Output CSV files should be written to a directory where the TapeTrack Sync command can access them as input files for the Sync process. Output CSV files should be written to a directory where the TapeTrack Sync command can access them as input files for the Sync process.
Line 55: Line 55:
 <note important>You will need to install the [[cli:sync_suite|TapeTrack Sync software]] to complete these instructions.</note> <note important>You will need to install the [[cli:sync_suite|TapeTrack Sync software]] to complete these instructions.</note>
  
-Synchronization with TapeTrack is performed by calling the [[cli:TMSS10Sync|TMSS10Sync]] command line program, along with:+Synchronization with TapeTrack is performed by calling the [[cli:TMSS10Sync|TMSS10Sync]] command-line program, along with:
   * The CSV file produced from the DRM table   * The CSV file produced from the DRM table
   * The CSV file produced from the Volume table   * The CSV file produced from the Volume table
Line 68: Line 68:
 Sync command line using DRM output Sync command line using DRM output
  
-<sxh>+<code>
 TMSS10Sync -a -d TSM-DRM.ttidef -S user:-password@serveraddress < TSM-DRM.csv  TMSS10Sync -a -d TSM-DRM.ttidef -S user:-password@serveraddress < TSM-DRM.csv 
-</sxh>+</code>
  
 Where: Where:
Line 80: Line 80:
 Sync command line using Volume output Sync command line using Volume output
  
-<sxh+<code
-TMSS10Sync -a -d TSM-DRM.ttidef -S user:-password@serveraddress < TSM-VOL.csv  +TMSS10Sync -a -d TSM-VOL.ttidef -S user:-password@serveraddress < TSM-VOL.csv  
-</sxh>+</code>
  
 Where: Where:
Line 92: Line 92:
 === Example batch file showing Sync process with dsmadmc extracted data and process output === === Example batch file showing Sync process with dsmadmc extracted data and process output ===
  
-<sxh>+<code>
 #!/bin/bash #!/bin/bash
  
Line 139: Line 139:
  echo TMSS10MoveScratch -S user:-$PW@tapetrack.gazillabyte.local -R "LIBR"  echo TMSS10MoveScratch -S user:-$PW@tapetrack.gazillabyte.local -R "LIBR"
  
-</sxh>+</code>
  
 === Example Synchronization Definition File (.ttidef file) === === Example Synchronization Definition File (.ttidef file) ===
Line 154: Line 154:
 The following definition files assume default TSM locations and two Repositories (OFFS and LIBR) in TapeTrack The following definition files assume default TSM locations and two Repositories (OFFS and LIBR) in TapeTrack
 </note> </note>
-===Volume TTIDEF File=== +===TSM-VOL TTIDEF File=== 
-<sxh>+<code>
 # Volume TTIDEF # Volume TTIDEF
-#+
 # Set CSV delimiter # Set CSV delimiter
 SetCSVDelimiter(","); SetCSVDelimiter(",");
Line 164: Line 164:
 SetLiteral(CUSTOMER, "ACME"); SetLiteral(CUSTOMER, "ACME");
 SetLiteral(MEDIA, "LTO"); SetLiteral(MEDIA, "LTO");
-#+
 # Extract Volume-ID # Extract Volume-ID
 Extract(VOLUME, 1, 8, 0); Extract(VOLUME, 1, 8, 0);
 # #
-# Extract Scratch value for comparision+# Extract Scratch value for comparison
 Extract(SCRATCH, 2, 20, 0); Extract(SCRATCH, 2, 20, 0);
-#+
 # Extract Description # Extract Description
 Extract(DESCRIPTION, 3, 100, 0); Extract(DESCRIPTION, 3, 100, 0);
 RemoveSpaces(DESCRIPTION); RemoveSpaces(DESCRIPTION);
-#+
 # If Scratch = Vault skip, anything else set SCRATCH to true # If Scratch = Vault skip, anything else set SCRATCH to true
-AddTranslation(SCRATCH, "VAULT", "!ByPass!");+AddTranslation(SCRATCH, "VAULT", "!Bypass!");
 AddTranslation(SCRATCH, "*", "true"); AddTranslation(SCRATCH, "*", "true");
-#+
 # Exclude any lines starting with . or / # Exclude any lines starting with . or /
 AddString(EXCLUSION, 0, ".*"); AddString(EXCLUSION, 0, ".*");
 AddString(EXCLUSION, 0, "/*"); AddString(EXCLUSION, 0, "/*");
  
-</sxh>+</code>
  
  
-===DRM TTIDEF File===+===TSM-DRM TTIDEF File===
  
-<sxh>+<code>
 # DRM TTIDEF # DRM TTIDEF
-#+
 # Set CSV delimiter # Set CSV delimiter
 SetCSVDelimiter(","); SetCSVDelimiter(",");
Line 197: Line 197:
 SetLiteral(CUSTOMER, "ACME"); SetLiteral(CUSTOMER, "ACME");
 SetLiteral(MEDIA, "LTO"); SetLiteral(MEDIA, "LTO");
-#+
 # Extract Volume-ID # Extract Volume-ID
 Extract(VOLUME, 1, 8, 0); Extract(VOLUME, 1, 8, 0);
-#+
 # Extract Repository value # Extract Repository value
 Extract(REPOSITORY, 2, 20, 0); Extract(REPOSITORY, 2, 20, 0);
 RemoveSpaces(REPOSITORY); RemoveSpaces(REPOSITORY);
-#+
 # Extract Scratch value # Extract Scratch value
 Extract(SCRATCH, 2, 20, 0); Extract(SCRATCH, 2, 20, 0);
 RemoveSpaces(SCRATCH); RemoveSpaces(SCRATCH);
-+ 
 +Translate Scratch value 
 +AddTranslation(SCRATCH, "VAULTRETRIEVE", "true"); 
 +AddTranslation(SCRATCH, "*", "false"); 
 # Translate Repository value # Translate Repository value
 AddTranslation(REPOSITORY, "VAULT", "OFFS"); AddTranslation(REPOSITORY, "VAULT", "OFFS");
 AddTranslation(REPOSITORY, "*", "LIBR"); AddTranslation(REPOSITORY, "*", "LIBR");
- 
 AddSkipOnRepositoryChange("LIBR", "OFFS", "*"); AddSkipOnRepositoryChange("LIBR", "OFFS", "*");
  
-AddTranslation(SCRATCH, "VAULTRETRIEVE", "true"); +# Exclude any lines starting with . or /
-AddTranslation(SCRATCH, "*", "false"); +
 AddString(EXCLUSION, 0, ".*"); AddString(EXCLUSION, 0, ".*");
 AddString(EXCLUSION, 0, "/*"); AddString(EXCLUSION, 0, "/*");
-</sxh>+</code>
  
 <- :cookbook:networker|NetWorker Sync Cookbook ^ :cookbook:introduction|Cookbook ^ :cookbook:veeam|VEEAM Sync Cookbook -> <- :cookbook:networker|NetWorker Sync Cookbook ^ :cookbook:introduction|Cookbook ^ :cookbook:veeam|VEEAM Sync Cookbook ->
  
 {{tag> cookbook}} {{tag> cookbook}}
cookbook/tsm.1616119221.txt.gz · Last modified: 2025/01/21 22:07 (external edit)