cancel
Showing results for 
Search instead for 
Did you mean: 

Deleting images manually

day
Level 3

The images on disk will be deleted randomly after they are stored on the tapes. I know that many people are using SLPs to control the deletion. Unfortunately I haven't a license for Advanced Disk therefore I'm not able to use a SLP for doing me the job. But I want to have only the newest images on disk. So my idea is a script:

First I need a list with the backup IDs which are older than let's say 8 days. (With bpimagelist?)
The list will be then used in a loop. The current backup ID in the loop will be verified whether it is already on tape. If yes, the image will be marked as expired based on the backup id. (Expiring images with bpexpdate -notimmediate?)
At the end the expired images should be deleted from disk. (With nbdelete?)

Is the above train of thought right? I don't know exactly which command is the right and which options are needed. I hope you can help me :)

1 ACCEPTED SOLUTION

Accepted Solutions

day
Level 3

And here is my script. 

#!/bin/sh

DATE=`which date`
BPIMMEDIA=/usr/openv/netbackup/bin/admincmd/bpimmedia
BPEXPDATE=/usr/openv/netbackup/bin/admincmd/bpexpdate
NBDELETE=/usr/openv/netbackup/bin/admincmd/nbdelete

ENDDATE=`${DATE} --date='8 days ago' '+%m/%d/%Y %T'`
BACKUPIDS=`${BPIMMEDIA} -disk -e ${ENDDATE} -dt 1 | grep '^IMAGE' | awk '{print $4}'`

for BACKUPID in ${BACKUPIDS}
do
        ${BPEXPDATE} -force -backupid ${BACKUPID} -d 0 -copy 1 -notimmediate
done

${NBDELETE} -allvolumes

View solution in original post

9 REPLIES 9

Nicolai
Moderator
Moderator
Partner    VIP   

Have you considered to use the staging feature of the basic disk storage unit  (it comes with the base license) ?

It will stage backup images from disk to tape for you - when the disk fills, NBU will delete the oldest images already copied to disk. Work really well.

Some background details:

http://www.symantec.com/docs/TECH44719

http://www.symantec.com/docs/TECH33710

RamNagalla
Moderator
Moderator
Partner    VIP    Certified

what is the disk storage unit that you are using?

does it basic disk... if yes why dont you use Disk staging storage option or Vault to get this done... (though disk staging does not work on number of days.. it expires based on how fast it reaches the high water mark.)

they will automate this job without using the any other scripts in place..

 

Marianne
Level 6
Partner    VIP    Accredited Certified

Another good DSSU link:

Disk Staging Cleanup Behavior: http://www.symantec.com/docs/TECH66149

day
Level 3

I have a storage unit group which contains three basic disks with a staging schedule.

Although in the documentation is written that the oldest images should be deleted first, that's not true:

Symantec NetBackup™
Administrator's Guide,
Volume I
UNIX, Windows, and Linux
Release 7.6

When NetBackup detects a disk staging storage unit that is full, it pauses the backup.
Then, NetBackup finds the oldest images on the storage unit that successfully
copied onto the final destination. NetBackup expires the images on the disk staging
storage unit to create space.

The problem is that the documentation is outdated and the text has been in the admin guide since 5.1. The images will be deleted randomly. This confirmed me a technical support engineer who wrote a technote but which has not yet been published.

Marianne
Level 6
Partner    VIP    Accredited Certified

Cleanup behaviour has changed in NBU 6.5.

This TN is still valid:
Disk Staging Cleanup Behavior: http://www.symantec.com/docs/TECH66149  

Whether or not cleanup happens randomly or based on age I cannot say.

If you really need to control disk images based on retention levels, you need Advanced Disk license to make use of SLP.

If you want to manually delete/cleanup, you need to use bpexpdate with image number and copy number.

To find images on Basic Disk, you can use the GUI or use bpimmedia with something like this:

bpimmedia -disk  -dt 1 
More options available for bpimmedia in 
NetBackup Commands Reference Guide 


 

day
Level 3

And here is my script. 

#!/bin/sh

DATE=`which date`
BPIMMEDIA=/usr/openv/netbackup/bin/admincmd/bpimmedia
BPEXPDATE=/usr/openv/netbackup/bin/admincmd/bpexpdate
NBDELETE=/usr/openv/netbackup/bin/admincmd/nbdelete

ENDDATE=`${DATE} --date='8 days ago' '+%m/%d/%Y %T'`
BACKUPIDS=`${BPIMMEDIA} -disk -e ${ENDDATE} -dt 1 | grep '^IMAGE' | awk '{print $4}'`

for BACKUPID in ${BACKUPIDS}
do
        ${BPEXPDATE} -force -backupid ${BACKUPID} -d 0 -copy 1 -notimmediate
done

${NBDELETE} -allvolumes

Marianne
Level 6
Partner    VIP    Accredited Certified

Does this mean that you have solved your own query? And now sharing your solution?

day
Level 3

Yes and yes. I marked the comment as solution.

Nicolai
Moderator
Moderator
Partner    VIP   

For scripting you will need the -force parameter for bpexpdate