This is an old revision of the document!
Table of Contents
BackupExec
BackupExec is Symantec's (previously Veritas) small business backup solution and depending on the version, allows Volume information to be extracted via command line, Windows Power Shell and ODBC.
When Volumes are new, they will appear in the Scratch Media Set, but as they are used they are assigned to a specific Media Set. Unlike Symantec's NetBackup product, when Volumes expire, by default, they are not moved back into the Scratch Media Set.
The bemcmd command
BackupExec 2010 and below: Extracting Volume information using the command line interface
bemcmd -o402 -r25 -ft:4 -f:"BE.csv" > "BE-CMD.txt" 2>&1
BackupExec 2012 and above: Extracting Volume information using the Windows Power Shell interface
cd "C:\Program Files\Symantec\Backup Exec\Modules\BEMCLI" import-module BEMCLI cd "C:\Program Files\TapeTrack\TapeTrack Sync\var" # # Get Media list from Backup Exec # $MediaList = Get-BEMedia $Today = Get-Date # # Initialize the outout array # $Records = @() ForEach ($Media in $MediaList) { $Record = "" | Select-Object CartridgeLabel, MediaSetName, MediaVault, RetentionHoursRemaining $Record.CartridgeLabel = $Media.Name $Record.MediaSetName = $Media.MediaSet $Record.MediaVault = $Media.MediaVault $Record.RetentionHoursRemaining = [Int]($Media.OverwriteProtectedUntilDate - $Today).TotalHours $Records += $Record } $Records | Export-CSV -notype BE.cs
Synchronization
Synchronization with TapeTrack is performed by calling the TMSS10Sync command line program, along with:
- The CSV output file.
- Command line arguments that instruct the program how to process volumes.
- A synchronization definition file that instructs the program how to interpret the CSV output.
Example Command Line Arguments
Call Windows Powershell and run the BE-List script. Call the TapeTrack Sync module and process the output created by the Powershell script.
powershell.exe -NoProfile -file "BE-List.ps1" -executionpolicy RemoteSigned TMSS10Sync -S user:-password@server -a -d BE.ttidef < BE.csv
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 Server to connect to.BE.CSV
is the output from the BE-List script.
Example Synchronization Definition
# # Set the Customer and Media as literal values as they never change # SetLiteral(CUSTOMER, "ACME"); SetLiteral(MEDIA, "LTO"); # # Set CSV delimiter # SetCSVDelimiter(","); # # Get the Volume-ID # Extract(VOLUME, 1, 10, 0); # # Get the Repository from a translated location Name # Extract(REPOSITORY, 0, 200, 0); AddTranslation(REPOSITORY, "*,WEEKLY_BACKUP,*,[0-9]*", "OFFS"); AddTranslation(REPOSITORY, "*", "LIBR"); # # Set the Description to the Pool Name # Extract(DESCRIPTION, 2, 100, 0); RemoveSpaces(DESCRIPTION);