This was exactly the scenario that happened to me when a company I consulted at changed their retention periods. The change of retention periods from 1 year to 1 month meant they wanted to free up all the tapes that contained images that were more then a month old.
The solution to the problem was a script that basically does the following:
1) Reads in a list of media id's from a file.
2) Determine which media server the media id is assigned.
3) Expire the media id from the Netbackup catalog.
The script is here:
#!/usr/bin/perl $master="hostname of master server"; open DATA, "cat /home/schmaubj/media.list|"; while () { $mediaid = $_; chomp($mediaid); open DATA2, "/usr/openv/netbackup/bin/admincmd/bpmedialist -U -m $mediaid|"; while () { $line = $_; chomp($line); if ($line =~ /Server Host/) { ($junk,$mhost) = split(/=/,$line); chomp($mhost); $mhost =~ s/ *$//; $mhost =~ s/^ *//; } } close (DATA2); print "Media ID: $mediaid\n"; print "Media Server Host: $mhost\n"; print "Expiring now...\n"; $expire=`/usr/openv/netbackup/bin/admincmd/bpexpdate -force -d 0 -m $mediaid -host $mhost -M $master`; } close (DATA);