====== Add Or Remove Flags Based Off Last Read Time ======
Add or Remove [[common:volume_flags|Flags]] based off last read time of [[object:volume|Volumes]] using [[cli:tmss10modifyflags|TMSS10ModifyFlags]] and a config file.
One purpose of this method allows you to lock any [[object:volume|Volumes]] in your Library that have been recalled for data restoration and then automatically remove the move lock once the last read time passes a set number of days. The Sync can then place the [[object:volume|Volumes]] in a move back to the Offsite Vault until the data expires.
The process involves [[cli:tmss10modifyflags|TMSS10ModifyFlags]] loading an input file, using a definition file, to extract the [[object:volume|Volume-ID's]]. The [[object:volume|Volume-ID's]] are then filtered using the configuration file and adding any qualifying [[object:volume|Volumes]] to a scan file.
The scan file is then processed, adding or removing the defined [[common:volume_flags|Flags]] against the scan list [[object:volume|Volumes]].
===== Sample Files =====
==== Input file - Volumes.csv ====
100001L5,OFFS,2021/07/15 22:10:33
100002L5,OFFS,2021/07/25 22:10:34
100003L5,OFFS,2021/07/25 22:10:35
100004L5,OFFS,2021/07/25 22:10:36
100005L5,OFFS,2021/07/28 22:10:37
100006L5,OFFS,2021/06/15 22:10:38
100007L5,OFFS,2021/06/16 22:10:39
100008L5,OFFS,2021/06/17 22:10:40
100009L5,OFFS,2021/06/18 22:10:41
100010L5,OFFS,2021/06/19 22:10:42
=== Definition file - default.ttidef ===
The definition file provides the information on how to extract the [[object:volume|Volume-ID]] from the input file into the barcode field, as well as setting the [[object:customer|Customer-ID]] and [[object:media|Media-ID]].
# Set input file (use full path if not in current directory)
setFile(volumes.csv);
# Set delimiter used in CSV file
setCSVDelimiter(",");
# Set Customer-ID
setLiteral(CUSTOMER, 0002);
#Set Media-ID
setLiteral(MEDIA, LTO);
# Extract Volume-ID into BARCODE field
extract(BARCODE, 1, 8, 0);
== Configuration file - last_read.cfg ==
Configuration file sets definition file for translating and extracting [[object:volume|Volume-ID's]] and filters input by [[object:customer|Customer-ID]] (0002), [[object:media|Media-ID]] (LTO). The last read time is then compared to the lastreadtime filter, if the last read time is 30 or more days ago, the [[object:volume|Volume]] is added to the scan file, if not it is discarded.
traversal =
{
scanfile= { file="default.ttidef"; };
customer =
(
{
id="0002";
media =
(
{
id="LTO";
volume =
(
{
id="*";
lastreadtime = "P:*-30";
skip=false;
},
{
id="*";
skip=true;
}
);
}
);
}
);
};
== Batch file - run_remove_lock_flag.bat ==
Run [[cli:tmss10modifyflags|TMSS10ModifyFlags]] to remove lock flag from all [[object:volume|Volumes]] in the input file with a last read date of 30 or more days ago. Using the Volume filter (-V) to only read in [[object:customer|Customer-ID]] 0002 to save processing time by avoiding reading in all other [[object:customer|Customer-ID's]]. Output from the process being written to modify_flags_stdout.txt and modify_flags_stderr.txt. The output files can written to any directory by using full directory paths.
TMSS10ModifyFlags -S user:-password@server -F "!l" -c last_read.cfg -V 0002.LTO.* > modify_flags_stdout.txt 2> modify_flags_stderr.txt
==== Example Output ====
modify_flags_std.txt
System: TapeTrack
Report Description: Scan-File Load Report
Production Time: Friday, July 30, 2021 - 10:36:51 (AUS Eastern Standard Time)
Report Width: 149 bytes
Seq. Record Barcode Resolved As Status Notes
------ ------ ---------------------------------------- -------------------- ------ ----------------------------------------------------------------
1 1 100001L5 US02.LTO.100001L5 OK
2 2 100002L5 US02.LTO.100002L5 OK
3 3 100003L5 US02.LTO.100003L5 OK
4 4 100004L5 US02.LTO.100004L5 OK
5 5 100005L5 US02.LTO.100005L5 OK
6 6 100006L5 US02.LTO.100006L5 OK
7 7 100007L5 US02.LTO.100007L5 OK
8 8 100008L5 US02.LTO.100008L5 OK
9 9 100009L5 US02.LTO.100009L5 OK
10 10 100010L5 US02.LTO.100010L5 OK
------ ------ ---------------------------------------- -------------------- ------ ----------------------------------------------------------------
System: TapeTrack
Report Description: Flag Modification Report
Production Time: Friday, July 30, 2021 - 10:36:51 (AUS Eastern Standard Time)
Report Width: 156 bytes
Seq. Barcode Old Flags New Flags Message
------ -------------------- -------------------------------- -------------------------------- ------------------------------------------------------------
1 US02.LTO.100006L5 ClMn CMn Request OK
2 US02.LTO.100007L5 ClMn CMn Request OK
3 US02.LTO.100008L5 ClMn CMn Request OK
4 US02.LTO.100009L5 ClMn CMn Request OK
5 US02.LTO.100010L5 ClMn CMn Request OK
------ -------------------- -------------------------------- -------------------------------- ------------------------------------------------------------
{{tag> technote config cli report}}