Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Synchronization Guide
Table of Contents
Who should read this guide? ............................................................................................... vii
Glossary ............................................................................................................................ 1
1. TapeTrack Support .......................................................................................................... 3
1.1. Introduction ......................................................................................................... 3
1.1.1. The TapeTrack Help Desk ........................................................................... 3
1.1.2. Accessing the Help Desk ............................................................................. 3
1.1.3. Dont leave your problem unfixed ................................................................. 3
1.1.4. Help us answer your question first time .......................................................... 3
1.1.5. Measuring your level of satisfaction ............................................................... 4
1.1.6. Suggesting enhancements or improvements in the product documentation ............. 4
2. TapeTrack Synchronization Suite ....................................................................................... 5
2.1. Introduction. ......................................................................................................... 5
2.1.1. What is synchronization? ............................................................................. 5
2.1.2. How does synchronization work? .................................................................. 5
2.1.3. Synchronization components. ........................................................................ 6
2.1.4. The benefits of synchronization. .................................................................... 6
2.2. Synchronization vectors. ......................................................................................... 6
2.3. Synchronization sources. ........................................................................................ 7
2.3.1. Synchronization fields. ................................................................................ 7
2.4. Synchronization prerequisites. ................................................................................. 7
2.5. Supported tape management systems ........................................................................ 8
2.6. Supported operating systems ................................................................................... 8
2.7. CPU and bandwidth considerations. ......................................................................... 9
2.8. Security considerations ........................................................................................... 9
2.9. Getting started ...................................................................................................... 9
2.9.1. Downloading the software ............................................................................ 9
2.9.2. Installing the software ................................................................................. 9
2.10. The components of a synchronization .................................................................... 10
2.10.1. The Synchronization Program .................................................................... 11
2.10.2. The Synchronization Source ...................................................................... 11
2.10.3. The Synchronization Definition File ........................................................... 11
2.11. Synchronization Engine Instructions ...................................................................... 12
2.11.1. Overview ............................................................................................... 12
2.12. Examples ......................................................................................................... 20
2.12.1. Tivoli Storage Manager (TSM) .................................................................. 20
2.12.2. CA-1 ..................................................................................................... 23
A. ................................................................................................................................... 26
A.1. Engine Syntax Reference ..................................................................................... 26
A.2. Management Commands ...................................................................................... 45
A.2.1. TMSS10MoveScratch ............................................................................... 45
A.2.2. TMSS10Sync .......................................................................................... 48
A.3. Diagnostic Commands ......................................................................................... 52
A.3.1. TMSS10Ping ........................................................................................... 52
Index ............................................................................................................................... 55
iii
List of Tables
2.1. Synchronization fields .................................................................................................... 7
iv
List of Examples
2.1. AddMoveDateAdjustment: Add 7 years to the Next Move Date if the Description contains
YEARLY ......................................................................................................................... 12
2.2. AddRepositoryOnWriteTime: Set the Repository based upon time from Write Date. ................ 13
2.3. AddRepositoryOnMoveDate: Move Volumes to RACK if their Move Date is today to 10 days
from today. ....................................................................................................................... 14
2.4. AddSkipOnRepositoryChange: Skip an update if the propsed change is HOLD and the current
Target Repository is LIBR. ................................................................................................. 15
2.5. SetInitialRepository: Set the initial Repository values to LIBR. ............................................ 15
2.6. SetMinRepositoryTime: Do not move a Volume if it has been off-site for less than one day. ...... 16
2.7. SetMoveDateFormat: Extract the Move Date in format MM/DD/YYYY. ............................... 17
2.8. SetPermanentDateValue: Set the permanent date to 1971-01-01 ........................................... 17
2.9. SetSkipOnMoveDateRange: Skip a Volume update if the proposed Move Date is between 10
days ago and today ............................................................................................................ 18
2.10. Skip the update of a Volume if the SYSTEM field is chaning and the Current Repository is
OFFS ............................................................................................................................... 18
2.11. SetVolumeScript: Eject all tapes that are being moved. ..................................................... 19
2.12. SetWriteTimeFormat: Extract the Write Time in format HH:MM:SS YYYY-MM-DD. ........... 20
2.13. TSM: Extracting the Volume Table .............................................................................. 21
2.14. TSM: Extracting the DRM Table ................................................................................. 21
2.15. TSM: Volume Table Synchronzation Definition File. ....................................................... 21
2.16. TSM: Sample Synchronization Script. ........................................................................... 22
2.17. CA-1: Extracting full inventory using GRW ................................................................... 23
2.18. CA-1: Synchronization definition file. ........................................................................... 23
2.19. CA-1: Sample synchronization JCL. .............................................................................. 24
A.1. Definition File syntax examples .................................................................................... 27
A.2. ConditionalEmbed: Embed a file if the current day is Monday or Tuesday. ............................ 28
A.3. Embed: Embed file extra_stuff.ttidef. ............................................................................. 28
A.4. SetVar: Set the variable PATHNAME to C:\tapetrack\stuff. ................................... 29
A.5. SetVar2Date: Set variable YESTERDAY to yesterday's date. ............................................. 30
A.6. SetVar2Date: Set variable START to the first day of this year and END to the last. ................. 30
A.7. SetVar2File: Set variable MYFILE to the smallest text file in C:\stuff. ............................ 31
A.8. WriteMsg: Write a message to the current user. ............................................................... 32
A.9. AddExclusionOnValue: Do not process a record if the VOLUME field starts with CLN ........... 32
A.10. AddString: Define a header (ANSI page break) with 7 records, skip records not starting with
an integer and terminate processing at the first blank record ...................................................... 33
A.11. AddTranslation: Append L3 to each VOLUME field if the value starts with a zero. ............... 35
A.12. AddTranslation: Truncate a VOLUME field to 6 characters when the Volume-ID starts with
an A. ............................................................................................................................... 35
A.13. AddTranslation2: Append L3 to each VOLUME field value of USER1 is HCART3. .............. 36
A.14. AddTranslation2FromFile: Append L3 to each VOLUME field if the value of the MEDIA
mathces a pattern within a record of c:\data\LTO3Volumes.txt. ...................................... 36
A.15. AddTranslation2FromFile: Append L3 to each VOLUME field if the value matches a
pattern within a record of c:\data\LTO3Volumes.txt. .................................................... 37
A.16. ChangeCase: Capitalize the value of the DESCRIPTION field. .......................................... 38
A.17. Extract: Extract VOLUME field from offset 10, length 6 of the body of a report. ................... 39
A.18. Extract: Extract VOLUME field from the 2nd element of a CSV file. ................................. 39
A.19. Extract: Extract REPOSITORY field from offset 70, length 4 of the 3rd record of a
header. ............................................................................................................................. 39
A.20. RemoveSpaces: Remove leading and trailing spaces from REPOSITORY field. .................... 39
A.21. SetCSVDelimiter: Parse a CSV file using a comma as the delimiter. ................................... 40
A.22. SetFile: Set the input file to c:\data\tapetrack\control-t.txt. ......................... 40
TapeTrack
A.23. SetHeaderCount: Define a header (ANSI page break) with 7 records, skip records not
starting with an integer and terminate processing at the first blank record. .................................... 41
A.24. SetLiteral: Set field REPOSITORY to literal ACME. ...................................................... 42
A.25. SetNoBodyRecords: Process the last record of a header as a body record. ............................ 42
A.26. SetODBC: Select the Microsoft Access Driver and pass the Access file to use. ..................... 43
A.27. SetODBC: Select the Microsoft Excel Driver and pass the Excel file to use. ......................... 43
A.28. SetPostScript: Rename a file with a time stamp after the file is processed. ........................... 43
A.29. SetRemoveChars: Remove dashes and commas from a field. ............................................ 44
A.30. SetSQL: Select all fields from table volumes ................................................................. 44
A.31. SetSQL: Select the Barcode and Location fields from Excel Spreadsheet workbook
Inventory. ......................................................................................................................... 45
A.32. SetTruncationChars: Truncate the field VOLUME at any character - or [ ............................. 45
A.33. TMSS10MoveScratch: Produce a Scratch Report. ........................................................... 47
A.34. TMSS10Sync: List supported Processing Directives. ....................................................... 51
A.35. TMSS10Sync: Run program in Dump Mode. ................................................................. 51
A.36. TMSS10Sync: Produce a formatted listing with a ruler every 10 records. ............................. 51
A.37. TMSS10Ping: send pings request via a proxy server, creates a trace file and displays the
trace file. .......................................................................................................................... 53
vi
vii
Glossary
A
Automated Tape Library
ATL
B
Barcode
C
Customer
Current Repository
D
Data Cluster
DR Strategy
F
Fully-Qualified Barcode
M
Media Type
N
Next Move Date
R
Repository
S
Scanned Repository
Glossary
Scratch Tape
A Volume that no longer contains data that is required and has been identified as
a candidate for re-use.
A rule that can be invoked when a Volume is moved from one Repository to
another that will automatically calculate the Next Move Date of a Volume.
T
Target Repository
U
User
V
Volume
A physical tape.
VOLSER
See Volume.
Z
Zone
http://support.gazillabyte.com
<support@gazillabyte.com>
Phone
+1-720-583-8880
TapeTrack Support
5. If you have not experienced the problem in the past please provide the details of any changes which
have been made prior to you experiencing the problem.
1. Load the definition file to instruct the program on where to get the data and how to interpret the data.
2. Logon to the TapeTrack Framework Server>
3. Read each record from the data source, establish each of the fields to be synchronized for each record.
4. On the first record, or on any record where the Customer and/or Media scope change, download a cache
of Volume information from the TapeTrack Framework Server.
5. Where the Volume information has changed apply the update to the TapeTrack Server.
6. On the last record from the data source print statistics about the update session.
Note
To reduce the overhead of retrieving records, when the Customer and/or Media scope
change all information on all Volumes within the current scope is downloaded and loaded
into a cache. Where the Customer and/or Media scope do not change this means that the
synchronization program only needs to download this information once. Care should be taken
not to randomize Volumes within a Customer and or Media scope as this will degrade the
performance of the program. If Volume scope is randomized it is strongly recommended that
the data source be sorted as a step prior to synchronization.
Max Description
Length
CUSTOMER
4 Customer-ID
MEDIA
4 Media-ID
VOLUME
REPOSITORY
10 Volume-ID
4 Repository-ID
REPOSITORY_DESC
SLOT
DATACLUSTER
DESCRITION
MOVEDATE
WRITETIME
CONTAINER
SYSTEM
ENCRYPTED
SCRATCH
4. The TapeTrack Customer-ID and Media-ID for the tapes being synchronized.
5. The TapeTrack Repository-IDs for each location that a tape volume may be moved to.
6. The ability to extract data from your backup or tape management software using either an ODBC
connection or command line interface.
7. Access to schedule a task under Windows Task Scheduler or cron(8).
AIX
Linux (Intel and ARM)
Microsoft Windows (32 and 64 Bit)
Passwords are not hashed with the MD5 algorithm where Windows Active Directory password authentication is being used.
rpm -i tapetrack-clients-2013.3.1.rpm
If you do not have RPM installed on your system a tar archive can be supplied on request.
2.9.2.3. z/OS
The software is packaged as a tar archive and can be installed under USS with the following commands
cd /usr/bin
mkdir /usr/bin/tapetrack
cd /usr/bin/tapetrack
gunzip tapetrack-clients-2013.3-1.s390.tar.gz
tar xvf tapetrack-clients-2013.3-1.s390.tar
Change directory to /usr/bin.
Create directory to /usr/bin/tapetrack.
Change directory to /usr/bin/tapetrack.
Decompress gzip file.
Extract tar file.
2.9.2.4. Solaris
The software is packaged using the Solaris Package Manager. To invoke the installation simply enter the
command:
pkgadd -d TapeTrack-Clients.2013.4.SPARC.pkg
2.9.2.5. HPUX
The software is packaged as a tar archive.
10
Application Instructions
11
AddMoveDateAdjustment
addmovedateadjustment
AddMoveDateAdjustment
Add a specific number of days, months, years to the Next Move Date if a field value matches a filter value.
Phase
This instruction is used by the TapeTrack Synchronization Engine.
Syntax
AddMoveDateAdjustment (field, filter, years, months, days);
string field;
string filter;
integer years;
integer months;
integer days;
field
filter
years
months
days
Examples
Example 2.1. AddMoveDateAdjustment: Add 7 years to the Next Move Date if the
Description contains YEARLY
Extract(MOVEDATE, 4, 10, 0);
SetMoveDateFormat("%%d/%%m/%%Y");
Extract(DESCRIPTION, 5, 100, 0);
AddMoveDateAdjustment(DESCRIPTION, "*YEARLY*"; 7, 0, 0);
12
AddRepositoryOnWriteTime
addrepositoryonwritetime
AddRepositoryOnWriteTime
Set a Repository value based upon a range of Write Times.
Phase
This instruction is used by the TapeTrack Synchronization Engine.
Syntax
AddRepositoryOnWriteTime (field, filter, time, target, movedate);
string
string
string
string
string
field;
filter;
time;
target;
movedate;
field
filter
time
Number of hours, days, months and years from the Write Date.
target
movedate
Number of hours, days, months and years from the Write Date to set the Move Date.
Examples
Example 2.2. AddRepositoryOnWriteTime: Set the Repository based upon time
from Write Date.
Extract(WRITEDATE, 10, 20, 0);
SetWriteDateFormat("%%H:%%M:%%S %%d/%%m/%%Y");
Extract(DESCRIPTION, 11, 100, 0);
AddRepositoryOnWriteTime(DESCRIPTION, "*YEARLY*", "0:1", "LIBR", "0:1");
AddRepositoryOnWriteTime(DESCRIPTION, "*YEARLY*", "0:0:1", "OFFS", "0:1:1");
13
If the DESCRIPTION contains YEARLY and the WRITEDATE is within one year move the Volume
to OFFS and give it a one year MOVEDATE.
AddRepositoryOnMoveDate
addrepositoryonmovedate
AddRepositoryOnMoveDate
Set a Repository based upon the value of the Next Move Date.
Phase
This instruction is used by the TapeTrack Synchronization Engine.
Syntax
AddRepositoryOnMoveDate (range, target);
string range;
string target;
range
range
Examples
Example 2.3. AddRepositoryOnMoveDate: Move Volumes to RACK if their Move
Date is today to 10 days from today.
AddRepositoryOnMoveDate("*:*+10", "RACK");
AddSkipOnRepositoryChange
addskiponrepositorychange
AddSkipOnRepositoryChange
Skip the update of a Volume if the Current of Target Repositry is equal to a filter value.
Phase
This instruction is used by the TapeTrack Synchronization Engine.
Syntax
AddSkipOnRepositoryChange (proposed, target, current);
string proposed;
string target;
14
string current;
proposed
target
current
Examples
Example 2.4. AddSkipOnRepositoryChange: Skip an update if the propsed change
is HOLD and the current Target Repository is LIBR.
AddSkipOnRepositoryChange("HOLD", "LIBR", "*");
SetInitialRepository
setinitialrepository
SetInitialRepository
Set the Current, Target and Scanned Repository value for newly added Volumes.
Phase
This instruction is used by the TapeTrack Synchronization Engine.
Syntax
SetInitialRepository (repository);
string repository;
repository
Note
If the Media Type for the added Volume has an Initial Repository value set in its options,
this value will override any value set by SetInitialRepository.
Examples
Example 2.5. SetInitialRepository: Set the initial Repository values to LIBR.
SetInitialRepository("LIBR");
SetMinRepositoryTime
setminrepositorytime
15
SetMinRepositoryTime
Set the minimum number of minutes a Volume can be in a specific Repository.
Phase
This instruction is used by the TapeTrack Synchronization Engine.
Syntax
SetMinRepositoryTime (repository, minutes);
string repository;
integer minutes;
repository
minutes
Examples
Example 2.6. SetMinRepositoryTime: Do not move a Volume if it has been off-site
for less than one day.
SetMinRepositoryTime("OFFS", 1440);
SetMoveDateFormat
setmovedateformat
SetMoveDateFormat
Define the way that the MOVEDATE field should be converted into a date value.
Phase
This instruction is used by the TapeTrack Synchronization Engine.
Syntax
SetMoveDateFormat (filepath);
string filepath;
filepath
Note
It should be noted that by the time this function is run the INI engine has already tried to
resolve environmental varialbes so it is necessary to include two percentage symobols for
each symbol that would usually be required by strptime(3).
16
Examples
Example 2.7. SetMoveDateFormat: Extract the Move Date in format MM/DD/
YYYY.
Extract(MOVEDATE, 10, 10, 0);
SetMoveDateFormat("%%m/%%d/%%Y");
SetPermanentDateValue
setpermanentdatevalue
SetPermanentDateValue
Embed a file containing additional definition language elements.
Phase
This instruction is used by the TapeTrack Synchronization Engine.
Syntax
SetPermanentDateValue (date);
string date;
date
Examples
Example 2.8. SetPermanentDateValue: Set the permanent date to 1971-01-01
Extract(MOVEDATE, 10, 10, 0);
SetMoveDateFormat("%%d/%%m/%%Y");
AddTranslation(MOVEDATE, "PERMANENT", "01-01-1971");
SetPermanentDateValue("1971-01-01");
SetSkipOnMoveDateRange
setskiponmovedaterange
SetSkipOnMoveDateRange
Skip the update of a Volume if the Move Date value is withing a specific range.
Phase
This instruction is used by the TapeTrack Synchronization Engine.
17
Syntax
SetSkipOnMoveDateRange (range);
string range;
range
Range of dates that should be used for comparison against the proposed Move Date.
Examples
Example 2.9. SetSkipOnMoveDateRange: Skip a Volume update if the proposed
Move Date is between 10 days ago and today
SetSkipOnMoveDateRange("*-10:*");
SetSkipOnSystemChange
setskiponsystemchange
SetSkipOnSystemChange
Skip the update of a Volume if the SYSTEM field is changing.
Phase
This instruction is used by the TapeTrack Synchronization Engine.
Syntax
SetSkipOnSystemChange (target);
string target;
target
Examples
Example 2.10. Skip the update of a Volume if the SYSTEM field is chaning and the
Current Repository is OFFS
SetSkipOnSystemChange("OFFS");
SetVolumeScript
setvolumescript
SetVolumeScript
Set a script to be called for each of the updated volumes.
18
Phase
This instruction is used by the TapeTrack Synchronization Engine.
Syntax
SetVolumeScript (script);
string script;
script
Note
Before each script is called the engine will resolve the variables $CUSTOMER-ID,
$MEDIA-ID, $VOLUME-ID.
Examples
Example 2.11. SetVolumeScript: Eject all tapes that are being moved.
SetVolumeScript("eject $VOLUME-ID");
SetWriteTimeFormat
setwritetimeformat
SetWriteTimeFormat
Define the way that the WRITETIME field should be converted into a time value.
Phase
This instruction is used by the TapeTrack Synchronization Engine.
Syntax
SetWriteTimeFormat (format);
string format;
format
Note
It should be noted that by the time this function is run the INI engine has already tried to
resolve environmental varialbes so it is necessary to include two percentage symobols for
each symbol that would usually be required by strptime(3).
19
Examples
Example 2.12. SetWriteTimeFormat: Extract the Write Time in format
HH:MM:SS YYYY-MM-DD.
Extract(WRITETIME, 10, 20, 0);
SetWriteTimeFormat("%%H:%%M:%%S %%Y-%m-%d");
2.12. Examples
2.12.1. Tivoli Storage Manager (TSM)
2.12.1.1. Overview
Tivoli Storage Manager (or TSM) is IBM's enterprise backup solution, and provides both a command line
interface program that can be used to query the informatio required for synchronization, and 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. These
tables are:
The Volume Table.
This table lists all tapes that contain active data for a given TSM system.
Any Volume that become scratch and is no longer managed by the DRM
subsystem will be dropped from this table.
This table lists all tapes are considered critical for recovery purposes.
This table is only available on servers that are considered library masters
and lists all Volumes that are in an ATL environment. This table will also
include scratch tapes that are currently in an ATL.
Note
TSM is highly configurable, but by default has the following locations that a tape may be in:
Mountable
Courier
Courier Retrieve
Vault
Vault Retrieve
Note
The location field in the Volume and state field DRM tables do not represent the same value.
The location field in the Volume table represents the percieved current location of a Volume,
while the state field in the DRM table may represent the current location, but may also
represent the destination location of a tape.
20
Note
TSM will drop Volumes from both the Volume and DRM tables when they become scratch.
Although these Volumes may now be in an ATL and visible by querying the Library Master
Server, they may also be elsewhere, including a scratch rack and not appear in any TSM
table. To identify any scratch tapes that may have evaded being recalled from off-site, it is
good practice to set the SCRATCH field during each synchronizatio and to periodically run
the TMSS10MoveScratch(1) command.
Call the TSM CLI dsmadmc, supress headings and pass userid and password.
Pass TSM server name.
Output in table mode to file TSM-Volumes.csv.
Output in CSV mode and pass query data.
Call the TSM CLI dsmadmc, supress headings and pass userid and password.
Pass TSM server name.
Output in table mode to file TSM-Volumes.csv.
Output in CSV mode and pass query data.
21
OUTDIR=/var/tapetrack/reports
ETC=/etc/tapetrack
UID=gnicol
PW=guessme
TSMIP=tsm01.gazillabyte.local
echo "Step 1: Extracting DRM information from TSM Server: " $TSMIP
dsmadmc -dataonly=yes -id=$UID -pa=$PW \
-tcpserveraddress=$TSMID \
-displaymode=table -outfile=$OUTDIR/TSM-DRM.csv \
-commadelimited "select volume_name,state,stgpool_name,voltype from drmedia"
echo "Step 2: Synchronizing with TapeTrack"
TMSS10Sync -a -d $ETC/TSM-DRM.ttidef \
-S gnicol:-$PW@tapetrack.gazillabyte.local \
< $OUTDIR/TSM-DRM.csv \
> $OUTDIR/TSM-DRM-Sync.stdout \
2> $OUTDIR/TSM-DRM-Sync.stderr \
echo "Step 3: Extracting Volume information from TSM Server: " $TSMIP
dsmadmc -dataonly=yes -id=$UID -pa=$PW \
-tcpserveraddress=$TSMID \
-displaymode=table -outfile=$OUTDIR/TSM-VOL.csv \
-commadelimited "select volume_name,location,stgpool_name from volumes"
echo "Step 4: Synchronizing with TapeTrack"
TMSS10Sync -a -d $ETC/TSM-DRM.ttidef \
-S gnicol:-$PW@tapetrack.gazillabyte.local \
< $OUTDIR/TSM-VOL.csv \
> $OUTDIR/TSM-VOL-Sync.stdout \
2> $OUTDIR/TSM-VOL-Sync.stderr \
if [[ $(date +%u) -eq 1 ]] ; then
echo TMSS10MoveScratch -S gnicol:-$PW@tapetrack.gazillabyte.local \
-R "LIBR"
fi
22
2.12.2. CA-1
2.12.2.1. Overview
CA-1 is one of two z/Series tape management products sold by Computer Associates (the other being
TLMS). CA-1 provides two generalized methods for extracting data from the CA-1 database (know ans the
TMC). These programs are the Generalized Report Writer (GRW) and EARL (CA's reporting language).
23
24
SetFile("DD:CA1");
AddString(HEADER, 0, "1*");
SetHeaderCount(2);
AddString(START, 3, "VOLSER*");
AddString(EXCLUSION, 3, "VOLSER*");
AddString(EXCLUSION, 3, " *");
AddString(TERMINATE, 1, "*RECORDS READ*");
SetLiteral(CUSTOMER, "ACME");
SetLiteral(MEDIA, "3592");
Extract(VOLUME, 3, 6, 0);
Extract(REPOSITORY, 12, 4, 0);
AddTranslation(REPOSITORY, "OFFS", "OFFS");
AddTranslation(REPOSITORY, "*", "LIBR");
/*
//STDPARM DD *
pgm /usr/bin/TMSS10Sync -S fred:-pw@10.1.1.1 -a -d DD:CONFIG
/*
Execure the CA-1 Generalized Report Writer.
Write the CA-1 report out to the TMSRPD DD.
Execute batch USS.
Call TMSS10Sync.
25
26
# Comment
Instruction1("%USER", "argument2");
Insturction2("%USER..txt", "argument2);
Insturction3("%%H:%%M:%%S);
Comment (ignored).
White space (ignored).
2nd argument has comma (requires quotes).
Instruction with no arguments (requires brackets and semi-colon).
Insturction split between lines.
Comment after semi-colon.
1st argument resolves environmental variable.
Use double periods as first will be chomped.
Escape literal percentage signs with an additional percentage sign.
ConditionalEmbed
Conditionally embed a file containing additional definition language elements.
Phase
This instruction is used by the TapeTrack INI Engine.
Syntax
ConditionalEmbed (filepath, filter, value);
string filepath;
string filter;
27
string value;
filepath
filter
A filter value.
string
Examples
Example A.2. ConditionalEmbed: Embed a file if the current day is Monday or
Tuesday.
SetVar2Date(TODAY, "*", "%%A");
ConditionalEmbed("montue_ttidef", "*(Monday|Tuesday)", $TODAY);
Embed
embed
Embed
Embed a file containing additional definition language elements.
Phase
This instruction is used by the TapeTrack INI Engine.
Syntax
Embed (filepath);
string filepath;
filepath
Examples
Example A.3. Embed: Embed file extra_stuff.ttidef.
Embed("extra_stuff.ttidef");
SetVar
setvar
SetVar
Set a local variable to a literal value.
Phase
This instruction is used by the TapeTrack INI Engine.
28
Syntax
SetVar (varname, value);
string varname;
string value;
varname
value
Examples
Example A.4. SetVar: Set the variable PATHNAME to C:\tapetrack\stuff.
SetVar(PATHNANE, "C\tapetrack\stuff");
Embed("$PATHNAME.\myfile.ttifef");
SetVar2Date
setvar2date
SetVar2Date
Set a local variable to a date value.
Phase
This instruction is used by the TapeTrack INI Engine.
Syntax
SetVar2Date (varname, date, value);
string varname;
string date;
string value;
varname
date
The string representing the date required in one of the following formats:
*[+|-]n
*
*-100
*+30
Today.
100 days ago.
30 days into the future.
YYYY-MM-DD
29
2010-12-31
The 31st of December 2010.
Y|y[+|-]n[+|-]m[+|-]d
Y-0
y-0
Y-1
Y-1+3+3
Y+10+3+3
The start of the current year.
The end of the current year.
The start of last year.
The 3rd day of the third month of last year.
The 3rd day of the 3rd month of the year 10 years
from now.
M|m[+|-]m[+|-]d
M-0
m-0
M-1
M-1+3
The start of the current month.
The end of the of the current month.
The start of last month.
The 3rd day of last month.
value
Examples
Example A.5. SetVar2Date: Set variable YESTERDAY to yesterday's date.
SetVar2Date(YESTERDAY, "*-1", "%%Y-%%m-%%d");
WriteMsg("Yesterday was %YESTERDAY");
Example A.6. SetVar2Date: Set variable START to the first day of this year and
END to the last.
SetVar2Date(START, "Y-0", "%%Y-%%m-%%d");
SetVar2Date(END, "y-0", "%%Y-%%m-%%d");
WriteMsg("Date range is $START through $END");
30
SetVar2File
setvar2file
SetVar2File
Set a local variable to a filename that matches the defined criteria.
Phase
This instruction is used by the TapeTrack INI Engine.
Syntax
SetVar2File (varname, filter, field, offset);
string varname;
string filter;
string field;
int offset;
varname
filter
Field
The field to pre-sort the selected pathnames before selection (NAME, CREATION,
LASTACCESS, LASTWRITE or SIZE).
offset
The offset within the sorted list to select. 1 is the top, 2 is the second from the top, -1 is the
bottom, -2 is 2nd from the bottom.
Examples
Example A.7. SetVar2File: Set variable MYFILE to the smallest text file in C:
\stuff.
SetVar2File(MYFILE, "C:\stuff\*.txt", SIZE, -1);
WriteMsg("The smallest file is $MYFILE");
WriteMsg
writemsg
WriteMsg
Write a message to the STDERR.
Phase
This instruction is used by the TapeTrack INI Engine.
Syntax
WriteMsg (message);
31
string message;
message
Examples
Example A.8. WriteMsg: Write a message to the current user.
WriteMsg("Just what do you think you're doing, %USERNAME.?");
AddExclusionOnValue
addexclusiononvalue
AddExclusionOnValue
Exclude a record from processing if the record contains a value.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
AddExclusionOnValue (field, filter, value);
string field;
string filter;
string value;
field
filter
value
Examples
Example A.9. AddExclusionOnValue: Do not process a record if the VOLUME field
starts with CLN
32
AddExclusionOnValue(VOLUME, "CLN*");
AddString
addstring
AddString
Add a special string such as an exclusion or header string.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
AddString (type, offset, filter);
string type;
integer offset;
string filter;
type
offset
The zero based offset within the record at which the filter should be applied.
filter
Examples
Example A.10. AddString: Define a header (ANSI page break) with 7 records, skip
records not starting with an integer and terminate processing at the first blank
record
AddString(HEADER, 0, "1*");
SetHeaderCount(7);
AddString(EXCLUSION, 0, "!([0-9]*");
33
AddString(TERMINATE, 0, "
*");
AddTranslation
addtranslation
AddTranslation
Translate the value of a field based upon the current value of the field.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
AddTranslation (field, filter, translation);
string field;
string filter;
string translation;
Notes
Note
All AddTranslation instructions add to the translation table which is processed in the
sequence in which the AddTranslations are coded in the definition file. Once a translation
match is found for the target field no further translations will occur for that field within that
record.
Note
Although an AddTranslation2 is functionally equivalent to a AddTranslation with the same
field and field2 values, AddTranslation entries are processed first, and then AddTranslation2
entries are processed a 2nd time. This allows you to translate the value of the field2
comparison field first, and then translate the value of the field based upon the translated value
of field2.
Note
To substitute the current field into the string use an asterisk ("*").
To substitute part of the current field into the string use a combination of tildes ("~") and
grave accents ("`"), where a tilde represents a character to include, and a carrat represents
a field to drop.
field
filter
translation
The new value of the field. This can either be a new literal value, or the original value
with a prefix or suffix.
34
Examples
Example A.11. AddTranslation: Append L3 to each VOLUME field if the value
starts with a zero.
AddTranslation(VOLUME, "0*", "*L3");
AddTranslation2
addtranslation2
AddTranslation2
Translate the value of a field based upon the value of another field.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
AddTranslation2 (field, field2, filter, translation);
string
string
string
string
field;
field2;
filter;
translation;
Notes
All AddTranslation instructions add to the translation table which is processed in the sequence in which
the AddTranslations are coded in the definition file. Once a translation match is found for the target field
no further translations will occur for that field within that record.
Although an AddTranslation2 is functionally equivalent to a AddTranslation with the same field and field2
values, AddTranslation entries are processed first, and then AddTranslation2 entries are processed a 2nd
time. This allows you to translate the value of the field2 comparison field first, and then translate the value
of the field based upon the translated value of field2.
field
field2
filter
translation
The new value of the field. This can either be a new literal value, or the original value
with a prefix or suffix. To represent the current value use an asterisk ("*").
35
Examples
Example A.13. AddTranslation2: Append L3 to each VOLUME field value of
USER1 is HCART3.
AddTranslation2(VOLUME, USER1, "HCART3", "*L3");
AddTranslation2FromFile
addtranslation2fromfile
AddTranslation2FromFile
Translate the value of a field based upon the value of another field, where the other field value can be
loaded multiple times using the contents of a file.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
AddTranslation2FromFile (field, field2, filterfile, translation);
string
string
string
string
field;
field2;
filterfile;
translation;
field
field2
filterfile
A file containing filter values to compare against the current field value.
translation
The new value of the field. This can either be a new literal value, or the original value
with a prefix or suffix. To represent the current value use an asterisk ("*").
Notes
See the notes section for AddTranslation2.
Examples
Example A.14. AddTranslation2FromFile: Append L3 to each VOLUME field
if the value of the MEDIA mathces a pattern within a record of c:\data
\LTO3Volumes.txt.
AddTranslation2FromFile(VOLUME, MEDIA, "c:\data\LTO3Volumes.txt", "*L3");
36
AddTranslationFromFile
addtranslationfromfile
AddTranslationFromFile
Translate the value of a field based upon the current value of the field, where the current value can be
loaded multiple times using the contents of a file.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
AddTranslationFromFile (field, filterfile, translation);
string field;
string filterfile;
string translation;
field
filterfile
A file containing filter values to compare against the current field value.
translation
The new value of the field. This can either be a new literal value, or the original value
with a prefix or suffix.
Notes
See the notes section for AddTranslation.
Examples
Example A.15. AddTranslation2FromFile: Append L3 to each VOLUME field if
the value matches a pattern within a record of c:\data\LTO3Volumes.txt.
AddTranslationFromFile(VOLUME, "c:\data\LTO3Volumes.txt", "*L3");
ChangeCase
changecase
ChangeCase
Change the case of a field.
Phase
This instruction is used by the TapeTrack Import Engine.
37
Syntax
ChangeCase (field, type);
string field;
string type;
LOWER, UPPER, CAPITALIZED or INVERTED
field
type
Examples
Example A.16. ChangeCase: Capitalize the value of the DESCRIPTION field.
ChangeCase(DESCRIPTION, CAPITALIZE);
Extract
extract
Extract
Extract a field from a record, CSV element or SQL field.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
Extract (field, offset, length, record);
string field;
integer offset;
integer length;
integer record;
field
offset
The zero based offset of the data to be extract, or the element index of a CSV element or SQL
element. In the event that the data being processed is CSV based, a value of zero indicates that
the raw CSV string should be extracted rather than an individual CSV element.
38
length
The length of the data to be extracted if the data is text based, or the maximum data length
for CSV or SQL data.
record
The record within a header, if the value is non-zero and the data is text based. A record that is
not a header if the value is zero and the data is text based. For CSV and SQL data this argument
is ignored.
Examples
Example A.17. Extract: Extract VOLUME field from offset 10, length 6 of the body
of a report.
Extract(VOLUME, 10, 6, 0);
Example A.18. Extract: Extract VOLUME field from the 2nd element of a CSV file.
SetCSVDelimiter(",");
Extract(VOLUME, 2, 6, 0);
Example A.19. Extract: Extract REPOSITORY field from offset 70, length 4 of the
3rd record of a header.
Extract(REPOSITORY, 70, 4, 3);
RemoveSpaces
removespaces
RemoveSpaces
Remove leading and trailing spaces (white space) from a field.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
RemoveSpaces (field);
string field;
field
Examples
Example A.20. RemoveSpaces: Remove leading and trailing spaces from
REPOSITORY field.
RemoveSpaces(REPOSITORY);
39
SetCSVDelimiter
setcsvdelimiter
SetCSVDelimiter
Set the delimiter to be used in CSV processing and instruct the engine to process each record as CSV.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
SetCSVDelimiter (delimiter);
character delimiter;
delimiter
The delimiter to be used when parsing a CSV file. This is usually a comma (",").
Examples
Example A.21. SetCSVDelimiter: Parse a CSV file using a comma as the delimiter.
SetCSVDelimiter(",");
SetFile
setfile
SetFile
Set the path to the source text file.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
SetFile (filepath);
string filepath;
filepath
Path to the file that will be processed. If no SetFile and no SetODBC specified engine
will default to stdin.
Examples
Example A.22. SetFile: Set the input file to c:\data\tapetrack\controlt.txt.
40
SetFile("c:\data\tapetrack\control-t.txt");
SetHeaderCount
setheadercount
SetHeaderCount
Set the number of records after an initial header record that should be considered part of the header section
of an input file.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
SetHeaderCount (count);
integer count;
count
Number of records in a header (including the initial header record) as identified by AddString
with HEADER argument.
Examples
Example A.23. SetHeaderCount: Define a header (ANSI page break) with 7 records,
skip records not starting with an integer and terminate processing at the first blank
record.
AddString(HEADER, 0, "1*");
SetHeaderCount(7);
AddString(EXCLUSION, 0, "!([0-9]*");
AddString(TERMINATE, 0, "
SetLiteral
setliteral
SetLiteral
Set a field to a literal value.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
SetLiteral (field, value);
string field;
41
*");
string value;
field
value
Examples
Example A.24. SetLiteral: Set field REPOSITORY to literal ACME.
SetLiteral(REPOSITORY, "ACME");
SetNoBodyRecords
setnobodyrecords
SetNoBodyRecords
Instruct the engine to process the last record of a heading as a standard record.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
SetNoBodyRecords
Examples
Example A.25. SetNoBodyRecords: Process the last record of a header as a body
record.
SetNoBodyRecords();
SetODBC
setodbc
SetODBC
Set the ODBC connection string and instruct the Import Engine to use ODBC mode.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
SetODBC (odbc);
42
string odbc;
odbc
Examples
Example A.26. SetODBC: Select the Microsoft Access Driver and pass the Access
file to use.
SetODBC("Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\Data\Sync\Tapes.mdb");
SetSQL("SELECT Barcode,Location FROM [Inventory]");
Example A.27. SetODBC: Select the Microsoft Excel Driver and pass the Excel file
to use.
SetODBC("Driver={Microsoft Excel Driver (*.xls)};Dbq=C:\Data\Sync\Tapes.xls");
SetSQL("SELECT Barcode,Location FROM [Inventory$]");
SetPostScript
setpostscript
SetPostScript
Set a script to be run at the end of source processing.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
SetPreScript (command);
string command;
command
The full path to a script or executable to be run with the system(3) call at the end of Import
Engine processing.
Examples
Example A.28. SetPostScript: Rename a file with a time stamp after the file is
processed.
SetVar2Date(FILENAME, "*", "vmquery-%%Y-%%m-%%d");
SetPostScript("rename vmquery.txt $FILENAME");
SetRemoveCharacters
setremovechars
43
SetRemoveCharacters
Remove unwanted characters from a field.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
SetRemoveCharacters (field, characters);
string field;
string characters;
field
characters
A string listing all of the characters that should be removed for a field.
Examples
Example A.29. SetRemoveChars: Remove dashes and commas from a field.
SetRemoveChars("-,");
SetSQL
setsql
SetSQL
Set the SQL string that will be used to query the SQL data source.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
SetSQL (sql);
string sql;
sql
The SQL string that will be used to query the SQL data source.
Examples
Example A.30. SetSQL: Select all fields from table volumes
44
Example A.31. SetSQL: Select the Barcode and Location fields from Excel
Spreadsheet workbook Inventory.
SetSQL("SELECT Barcode,Location FROM [Inventory$]");
SetTruncationChars
settruncationchars
SetTruncationChars
Set characters that should be used to determine when to truncate a field.
Phase
This instruction is used by the TapeTrack Import Engine.
Syntax
SetTruncationChars (field, chars);
string field;
string chars;
field
chars
Examples
Example A.32. SetTruncationChars: Truncate the field VOLUME at any character
- or [
SetTruncationChars(VOLUME, "-[");
Synopsis
45
TMSS10MoveScratch [-a] [-b] [-R] [-S logonstring] [-V volumefilter] [-c configfile]
Description
TMSS10MoveScratch is used to manage Scratch Volumes, it performs 3 functions:
1. Moves all Volumes with a Scratch Flag to the Repository specified in the -R argument.
2. Sets the Scratch Flag for all Volumes.
3. Lists all Volumes with a Scratch Flag.
This command is particularly helpful for platforms such as Tivoli Storage Manager which deletes scratch
tapes from its Volume Table, as you can schedule the command to run once per week to reset all Volumes
to Scratch, then remove the Scratch Flag using TMSS10Sync(1) during the week. Then when the program
is run subsequently the next week, it will move each Volume that still has the Scratch Flag set to a new
Repository.
Special Note
Please note that when running TMSS10MoveScratch with the -R argument set you must be
sure that the process that sets the Scratch Flag to false has run. In the event that this is multiple
processes (where you have multiple backup catalogs) you must be sure that all processes
would have run. In the event that not all Scratch Flags that should have been removed have
not been removed it is possible that non-Scratch tapes will be moved.
To run the command to only product a Scratch Report, specify the -b argument and do not specify the R argument.
Options
The options which apply to the TMSS10MoveScratch command are:
-a
This argument disables the first step of the command which moves all
Scratch Volumes to a new Repository.
-b
This argument disables the second step of the command which sets the
Scratch Flag for all Volumes.
-R
This argument sets the Repository where Scratch Volumes are to be moved.
-R
This argument sets the Repository where Scratch Volumes are to be moved.
-S
46
You can also have the program read the password as the first record of stdin
by prepending the password with a plus symbol (fred:+@server).
In the event that the password is all upper case and 32 characthers in length,
the password will be considered an MD5 hash of the password and passed
to the server without subsequent MD5 hashing.
The volumefilter argument sets the Volume Filter which can be used
to filter the traversal of Customer, Media and Volume values.
-V
-c
Exit Status
zero
non-zero
Environment
TMSSSERVERPROXY
If defined the program will route all TapeTrack TCP/IP traffic through
a HTTPS proxy. The value of the variable should be in the format
user:password@host:port. To debug the proxy connection use variable
TMSSAPILOGDIR.
TMSSAPILOGDIR
If defined the program will write out a trace file to this directory.
TMSSPWPATH
When no password value is passed in the logon string the program will look for
the password in file \etc\tapetrack\user, where user is the user value
passed in the logonstring. If you wish to change this default path, you can
set the path in TMSSPWPATH.
Examples
Example A.33. TMSS10MoveScratch: Produce a Scratch Report.
47
Barcode
-------------------AHKG.LTO.302669401
AHKG.LTO.302669402
AHKG.LTO.302669403
AHKG.LTO.302669404
AHKG.LTO.302669405
Current Target
-------------------Initial Repository
Initial Repository
Initial Repository
Initial Repository
Initial Repository
New Target
-------------------N/A
N/A
N/A
N/A
N/A
Message
--------------------No change requested
No change requested
No change requested
No change requested
No change requested
Files
stdout
Output Reports.
stderr
Diagnostic messages.
stdin
Program input.
See Also
TMSS10Sync(1)
Bugs
On the Linux platform all TapeTrack command line programs are compiled with static C runtimes. This
means that on some older Linux versions DNS name resolution does not work and you must use dotted
IP addresses.
Reporting Bugs
Please report any bug by emailing <support@gazillabyte.com> or by visiting http://
support.gazillabyte.com.
Copyright
Copyright GazillaByte 1999-2014.
Changes
A list of changes to this module can be viewed in RSS format at http://www.tapetrack.com/cgi/
changelog.cgi?Module=TMSS10MoveScratch.
A.2.2. TMSS10Sync
TMSS10Sync
TMSS10Sync synchronize an input file or ODBC connection data with a TapeTrack Framework
Server.
Synopsis
TMSS10Sync [-A attributeindex] [-F recordcount] [-M] [-S logonstring] [-T] [-a] [-c
configfile] [-d deffile] [-l] [-p] [-s] [-t]
48
Description
TMSS10Sync is a command line utility that allows the user to run adhoc and automated synchronization
between text files, CSV files and ODBC connections to update commonly used TapeTrack database fields.
In addition to being able to synchronize data, the program can also perform complex date calculation and
string manipulation procedures to edit the data that is being synchronized.
The program relies on three separate software engines that are built one on top of the other.
INI Parse Engine
Import Engine
This component is responsible for reading data from the import file or ODBC
connection, extracting data into respective fields and performing any data
manipulation.
Sync Engine
This component responsible for updating the TapeTrack Server with any fields
which have been specified to be updated.
Options
The options which apply to the TMSS10Sync command are:
-S
sets
the
Server
logon
informaton
in
the
format
In the event that this argument is not passed the default will be batch:batch@localhost:5000.
By default the password value will be treated as the path to a file which contains a single record
representing the password, rather than the password itself.
If you wish the password value to be the literal password (rather than a file) the password should be
prepended with a dash (fred:-fredspassword@server).
You can also have the program read the password as the first record of stdin by prepending the
password with a plus symbol (fred:+@server).
In the event that the password is all upper case and 32 characthers in length, the password will be
considered an MD5 hash of the password and passed to the server without subsequent MD5 hashing.
-c
The configfile argument specifies the path to the Batch Configuration File.
The Batch Configuration File allows you to perform advanced traversal of Customer, Media and
Volumes, perform advanced barcode pre and post processing and route program output to syslogd.
Configuration File capabilities vary from program to program but the syntax remains the same. In
the event that logic is not supported it will simply be ignored.
The following example will set the default Customer-ID and Media-ID for all scanned barcodes:
barcodes =
{
defaults={ customer-id="ACME"; media-id="LTO"; };
};
49
-A
This argument sets the attribute index for any field imported as the DESCRIPTION field. The value
of attributeindex should be an integer between 0 and 200. The default of 200 represents the
inbuilt Description field. Values of 1 through 200 represent user-defined Extended Attribute values.
-F
This argument instructs the program to simply read in the contents of STDIN and write out a
formatted report on STDOUT with a ruler every recordcount records. This can be helpful for
establishing the offset and length of the fields that are being synchronized from a text file. No other
processing will be preformed.
-M
This argument instructs the program to run in Dump Mode. Dump mode processes the input
synchronization as it would in the regular update mode but instead of performing any updates the
program will write a list of proposed update fields for each record to the STDIN.
Special Note
When running in Dump Mode the program will only run the INI Parse Engine and the
Import Engine. It will not run the Sync Engine. As a result, any functionality that relies
on the Sync Engine, such as the Barcode Parse Option will not be invoked. Further,
functions that relate to data interpretation such as date parsing will also not be run.
-T
This argument instructs the program to set the Do Not Slot flag for each updated Volume.
-a
This argument instructs the program to add any new Volumes to the TapeTrack database. In the event
that this argument is not specified and newly encountered Volumes will be skipped and added to
the Not-Added Count.
-d
This argument sets the path to the Import Definition File. The Import Definition file is responsible
for instructing the program on how to interpret the input file or ODBC connection. This argument is
required and defaults to the file default.ttidef.
-l
This argument instructs the program to list all of the supported processing directives, which will be
written to STDOUT. A list of valid ODBC Drivers and DSNs will also be listed. No further processing
is performed.
-p
This argument instructs to Sync Engine to pass the value in the the VOLUME field to TapeTrack's
Barcode Parsing Engine, where it will be split into the CUSTOMER, MEDIA and VOLUME fields.
Barcode Parsing can also be further managed using the barcode section of the Configuration File.
-s
This argument instructs the program to automatically set the SLOT field to the relative record number
of the record being processed.
-t
This argument instructs the program to run in Test Mode. In Test Mode all three engines will be
invoked, but no updates will be performed. Test Mode differs from Dump Mode in that Dump Mode
will not run the Sync Engine while Test Mode will, but without performing updates.
Exit Status
zero
non-zero
Environment
TMSSSERVERPROXY
If defined the program will route all TapeTrack TCP/IP traffic through
a HTTPS proxy. The value of the variable should be in the format
50
If defined the program will write out a trace file to this directory.
TMSSPWPATH
When no password value is passed in the logon string the program will look for
the password in file \etc\tapetrack\user, where user is the user value
passed in the logonstring. If you wish to change this default path, you can
set the path in TMSSPWPATH.
Examples
Example A.34. TMSS10Sync: List supported Processing Directives.
[gnicol@z1090 ~]$ TMSS10Sync -l < syntax.txt
Files
stdout
stderr
Diagnostic messages.
stdin
See Also
TMSS10MoveScratch(1), TMSS10SingleSpace(1), TMSS10CSV2Fixed(1), TMSS10DRP_TSM(1),
TMSS10DRP_BRMS(1)
Bugs
On the Linux platform all TapeTrack command line programs are compiled with static C runtimes. This
means that on some older Linux versions DNS name resolution does not work and you must use dotted
IP addresses.
Reporting Bugs
Please report any bug by emailing <support@gazillabyte.com> or by visiting http://
support.gazillabyte.com.
Copyright
Copyright GazillaByte 1999-2014.
51
Changes
A list of changes to this module can be viewed in RSS format at http://www.tapetrack.com/cgi/
changelog.cgi?Module=TMSS10Sync.
Synopsis
TMSS10Ping [-n count] [-P port] [-?] [-v] host
Description
TMSS10Ping sends dummy packets to a TapeTrack Framework Server and receives a reply packet. It
should be noted that unlike the ping(1) command, TMSS10Ping(1) sends payload packets via the TCP/
IP protocol.
Options
The options which apply to the TMSS10Ping command are:
-n
This option sets the number of test packets to send to an integer other than 4.
-P
This option sets the TCP/IP port to an integer other than 5000.
host
Exit Status
zero
non-zero
Environment
TMSSSERVERPROXY
If defined the program will route all TapeTrack TCP/IP traffic through
a HTTPS proxy. The value of the variable should be in the format
user:password@host:port. To debug the proxy connection use variable
TMSSAPILOGDIR.
TMSSAPILOGDIR
If defined the program will write out a trace file to this directory.
Examples
This example tests a TapeTrack connection on port 443.
52
44
44
44
44
bytes
bytes
bytes
bytes
from
from
from
from
216.229.153.104:
216.229.153.104:
216.229.153.104:
216.229.153.104:
seq=1
seq=2
seq=3
seq=4
time=58.00
time=58.00
time=58.00
time=57.00
ms
ms
ms
ms
#!/bin/bash
TMSS10Ping -P 443 tapetrack.ironmountain.com > /dev/null
[ $? -ne 0 ]; then
sendmail .....
fi
Example A.37. TMSS10Ping: send pings request via a proxy server, creates a trace
file and displays the trace file.
set PROXYIP=192.168.1.10
set PROXYPORT=3128
set PROXYUSER=
set PROXYPW=
set TAPETRACKIP=server.databank.co.il
set TAPETRACKPORT=443
set TMSSAPILOGDIR=%TEMP%
set TMSSSERVERPROXY=%PROXYUSER%:-%PROXYPW%@%PROXYIP%:%PROXYPORT%
del /Q "%TMSSAPILOGDIR%\TMSSAPILOG-*.txt"
TMSS10Ping -P %TAPETRACKPORT% %TAPETRACKIP%
type "%TMSSAPILOGDIR%\TMSSAPILOG-*.txt"
pause
Set variable for HTTP Proxy Server address.
Set TCP/IP port of HTTP Proxy Server.
Set variable for HTTP Proxy Server User-ID (if any).
Set variable for HTTP Proxy Server password (if any).
Set variable for HTTP Proxy Server address.
Set variable for TapeTrack Server address.
Set variable for TapeTrack Server port.
Set variable for output directory to Windows temp folder.
Set variable that tells TMSS10Ping to go via a proxy.
Run TMSS10Ping command.
List the results.
Files
stdout
See Also
TMSS10(1)
53
Bugs
On the Linux platform all TapeTrack command line programs are compiled with static C runtimes. This
means that on some older Linux versions DNS name resolution does not work and you must use dotted
IP addresses.
Reporting Bugs
Please report any bug by emailing <support@gazillabyte.com> or by visiting http://
support.gazillabyte.com.
Copyright
Copyright GazillaByte 1999-2014.
Changes
A list of changes to this module can be viewed in RSS format at http://www.tapetrack.com/cgi/
changelog.cgi?Module=TMSS10Ping.
54
Index
C
CA-1, 23
E
EARL, 23
G
Generalized Report Writer
GRW, 23
T
Tivoli Storage Manager
TSM, 20
55
Colophon
This book was produced using DocBook XML on Fedora Linux 20. The version control system used during production
was git(1).
Document built 2014-12-21 16:50:30.
56