====== Data Protector Sync Cookbook ======
[[https://en.wikipedia.org/wiki/HP_Data_Protector|Data Protector]] is a HP enterprise backup solution and is available for Windows, UNIX and Linux.
===== The omnirpt command =====
The following instructions use onmirpt to extract the media via a tab delimetered CSV file. Using the powershell code
omnireport -report media -detail 1 |
Where-Object {
$_ -match "^[A-Z0-9]{6,}" -and
$_ -notmatch "Disk"
} |
ForEach-Object { $_ -replace "`t", "," } |
Out-File "C:\DPReports\tapetrack_media.csv" -Encoding UTF8
or linux
omnireport -report media -detail 1 \
| grep -E '^[A-Z0-9]{6,}' \
| grep -v -i 'disk' \
| sed 's/\t/,/g' \
> tapetrack_media.csv
The file can be converted to a comma delimitered file and used directly for input into the Sync process, skipping the need to run TMSS10CSV2Fixed
The onmirpt command is available on systems with the Data Protector User Interface component
installed.
The ''omnirpt'' command generates various reports about the Data Protector environment
omnirpt -report media_list -tab > var\dataprotector.csv
==== Example omnirpt output ====
#List of Media
#Cell Manager: gazillabyte.tapetrack.co
#Creation Date: 9/13/2018 2:00:12 PM
# Headers
# Medium ID label location Status Protection Used [MB] Total [MB] Last Used Pool Type
3f04a59e:3866b9c6:1990:0004 [000005L7] 000005L7 LIB_1244 Good 9/19/2018 8:23:04 AM 267575.25 4113512.00 9/17/2018 6:48.22 AM LIB Daily LTO-Ultrium
3f04a59e:3b5b80ee:lc84:0003 [000006L7] 000006L7 Good 7/14/2018 6:53:04 AM 342875.46 4000000.00 7/11/2018 5:28.33 AM LIB Daily LTO-Ultrium
3f04a59e:398c833e:14a8:0004 [000007L7] 000007L7 LIB_1244 Good 9/16/2018 2:52:24 AM 112875.21 4000000.00 9/12/2018 6:28.45 AM LIB Daily LTO-Ultrium
3f04a59e:3914el91:lce8:0005 [000008L7] 000008L7 LIB_1244 Good 9/21/2018 7:44:04 AM 264452.33 4000000.00 9/17/2018 7:43.29 AM LIB Daily LTO-Ultrium
3f04a59e:39353595:14e4:0003 [000009L7] 000009L7 Good 9/11/2018 7:53:04 AM 245675.45 4000000.00 9/4/2018 7:15.22 AM LIB Daily LTO-Ultrium
3f04a59e:3817c945:lba8:0003 [000010L7] 000010L7 Good 9/19/2018 8:57:04 AM 100575.25 4000000.00 9/11/2018 6:32.04 AM LIB Daily LTO-Ultrium
3f04a59e:38311894:laee:0004 [000011L7] 000011L7 LIB_1244 Good 8/19/2018 4:33:34 AM 200335.26 4000000.00 8/12/2018 3:28.41 AM LIB Daily LTO-Ultrium
3f04a59e:383c719c:1440:0001 [000012L7] 000012L7 LIB_1244 Good 8/17/2018 8:53:04 AM 260000.04 4000000.00 8/11/2018 4:55.52 AM LIB Daily LTO-Ultrium
3f04a59e:383117eb:laee:0003 [000013L7] 000013L7 Good 6/30/2018 5:55:54 AM 108075.25 4000000.00 6/15/2018 6:02.44 AM LIB Daily LTO-Ultrium
3f04a59e:383c3e6e:0ba4:0001 [000014L7] 000014L7 LIB_1244 Good 8/29/2018 8:53:04 AM 000455.44 4000000.00 8/17/2018 8:08.32 AM LIB Daily LTO-Ultrium
==== Converting omnirpt tab file to Fixed length file ====
Output from omnirpt, while tab delimitered, can produce offset columns depending on string lengths. To ensure the column offsets are consistent the output is passed through [[cli:tmss10csv2fixed|TMSS10CSV2Fixed]].
Run [[cli:tmss10csv2fixed|TMSS10CSV2Fixed]] directing the file ''dataprotector.csv'' through ''stdin'' to get a starting point for columns and offset values, adjust the offsets to match the data you wish to import, omitting data from irrelevant columns with the offset 0 0.
TMSSDELIMETER=TAB
TMSS10CSV2Fixed < dataprotector.csv
System: TapeTrack
Report Description: CSV Statistics
Production Time: Monday, October 01, 2018 - 13:46:07 (AUS Eastern Standard Time)
Report Width: 120 bytes
Seq. Min. Max. Heading Value
----- ----- ----- ----------------------------------------------------------------------------------------------------
0 11 27 # Medium ID
1 5 19 label
2 0 8 location
3 4 28 Status
4 9 20 Protection
5 9 10 Used [MB]
6 10 20 Total [MB]
7 9 20 Last Used
8 4 11 Pool
9 4 11 Type
----- ----- ----- ----------------------------------------------------------------------------------------------------
Suggested Usage:
tmss10csv2fixed 0 27 28 19 48 8 57 28 86 20 107 10 118 20 139 20 160 11 172 11
Changing the offset values to pick up Volume-ID (column 2, offset 30 length 8), location (column 3, offset 48, length 8) and description (column 9, offset 160, length 12).
TMSS10CSV2Fixed 0 0 0 8 17 8 0 0 0 0 0 0 0 0 0 0 35 12 0 0 < dataprotector.csv > dataprotectorFixed.txt
Sample output with selected columns
Label Location Pool
000005L7 LIB_1244 LIB Daily
000006L7 LIB Daily
000007L7 LIB_1244 LIB Daily
000008L7 LIB_1244 LIB Daily
000009L7 LIB Daily
000010L7 LIB Daily
000011L7 LIB_1244 LIB Daily
000012L7 LIB_1244 LIB Daily
000013L7 LIB Daily
000014L7 LIB_1244 LIB Daily
===== Synchronization =====
You will need to install the [[cli:sync_suite|TapeTrack Sync software]] to complete these instructions.
Synchronization with TapeTrack is performed by calling the [[cli:TMSS10Sync|TMSS10Sync]] command line program, along with:
- The fixed width text file produced by pre-processing the onmirpt output.
- Command line arguments that instruct the program how to process volumes.
- A synchronization definition file that instructs the program how to interpret the omnirpt output.
==== Example Command Line Arguments ====
TMSS10Sync -d dp.ttidef -a -S batch:-password@server < dataprotectorFixed.txt
Where:
* ''-d'' is the path to the Synchronization Definition File.
* ''-a'' tells the program to add new tape volumes if they are encountered.
* ''-S'' tells the program what [[cli:server_argument|Server]] to connect to.
* ''dataprotectorFixed.txt'' is the ''omnirpt'' output that has been pre-processed through the [[cli:tmss10csv2fixed|TMSS10CSV2Fixed]] program
==== Example Synchronization Definition ====
#
# Set the Customer and Media as literal values as they never change
#
SetLiteral(CUSTOMER, "ACME");
SetLiteral(MEDIA, "LTO");
#
# Get the Volume-ID
#
Extract(VOLUME, 1, 8, 0);
#
# Get the Repository from a translated location Name
#
Extract(REPOSITORY, 17, 10, 0);
RemoveSpaces(REPOSITORY);
AddTranslation(REPOSITORY, "*Lib*", "LIBR");
AddTranslation(REPOSITORY, "*", "OFFS);
#
# Set the Description to the Pool Name
#
Extract(DESCRIPTION, 35, 40, 0);
RemoveSpaces(DESCRIPTION);
#
<- :cookbook:commvault|Commvault Sync Cookbook ^ :cookbook:introduction|Cookbook ^ :cookbook:netbackup|NetBackup Sync Cookbook->
{{tag> cookbook}}