====== BackupExec ======
[[https://en.wikipedia.org/wiki/Backup_Exec|BackupExec]] is Veritas's small business backup solution and depending on the version, allows [[object:volume|Volume]] information to be extracted via:
- Command line, or
- Windows Power Shell, or
- ODBC.
When [[object:volume|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 Veritas's [[cookbook:netbackup|NetBackup]] product, when [[object:volume|Volumes]] expire, by default, they are not moved back into the Scratch Media Set.
===== The Command Line Interface =====
The Command Line Interface was used in BackupExec 2010 and below.
When BackupExec is installed a number of predefined reports are created. The ID of each predefined report varies from one installation to the next.
==== Sample Command Line Syntax ====
bemcmd -o402 -r25 -ft:4 -f:"BE.csv" > "BE-CMD.txt" 2>&1
===== The Windows Powershell interface =====
The Windows Powershell interface replaced the Command Line Interface in BackupExec 2012.
==== Sample Powershell Script ====
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 output 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.csv
===== 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 CSV output file.
- Command line arguments that instructs 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 [[cli:server_argument|Server]] to connect to.
* ''BE.CSV'' is the output from the BE-List script.
==== Example Synchronization Definition ====
**BE.ttidef**
#
# 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);
#
<- ^ :cookbook:introduction|Cookbook ^ :cookbook:commvault|Commvault Sync Cookbook->
{{tag> cookbook}}