When you select to have a vault report sent to a directory, you get something that looks like this.
1643 Oct 21 14:26 picklist_robot_sid287_1413915966.rpt
That date stamp at the end is not passed, at least that I have been able to find, to the vlt_end_notfy script. Is there anyway to know exactly what report can from the just run vault. If you do deferred ejects, you will get a 2nd report.
1645 Oct 23 16:50 picklist_robot_sid287_1413911681.rpt
The only difference in the two is that date stamp. Since we don't know what that vaule is when the report runs, we have to use a wild card search to process the file in vlt_end_notify.
for f in ${VLTREP_DIR}picklist_robot_sid${4}_*.rpt; do
if [ -e "$f" ]; then
bash ${SCRIPT_DIR}modify_vault_picklist.sh ${f} ${SCRIPT_DIR}tape_density | mailx -s "${SUBJECT_OUT}" -c $CCLIST $MAILLIST
echo ${SUBJECT_OUT} > ${VLTREP_DIR}${REPORT_OUT}.txt
echo "">> ${VLTREP_DIR}${REPORT_OUT}.txt
bash ${SCRIPT_DIR}modify_vault_picklist.sh ${f} ${SCRIPT_DIR}tape_density >> ${VLTREP_DIR}${REPORT_OUT}.txt
fi
break
done
This works for us unless we run up against another situation I need to allow for. Someone told me that if you have multiple vaults/robots you could end up with duplicate SID numbers. If that happens it's possible we could process the wrong report. I know they would not have the same timestamp in the file name, but that is not sent to vlt_end_notify. I need to know at what level are the SID unique. The robot or the vault name? We can easily split up the reporting at that level. The other option would be to have the timestamp available as a parameter passed to the script.
# This script:
# requires 5 parameters:
# $1 = ROBOT - robot number
# $2 = VAULT - logical vault name
# $3 = PROFILE - profile name
# $4 = SESSION_ID - vault session id
# $5 = STATUS - completion status of the vault session
Is all that I know of to work with. It would be nice if we could have some of that info to create the report names.