On 3/3/24 19:00, Thing wrote:
Hi,

Ahhh, I didnt think that was an issue as I have 74 volumes on disk.

Right, but volumes on disk does not necessarily match the number of volumes in catalog. This is especially true when dealing with removable media, and vchanger, for example. :)


  *list pools
Using Catalog "MyCatalog"
+--------+------------+---------+---------+-----------------+--------------+---------+----------+-------------+
| PoolId | Name       | NumVols | MaxVols | MaxVolBytes     | VolRetention | 
Enabled | PoolType | LabelFormat |
+--------+------------+---------+---------+-----------------+--------------+---------+----------+-------------+
|      1 | Default    |       4 |     100 |  53,687,091,200 |   31,536,000 |    
   1 | Backup   | *           |
|      2 | File       |   1,009 |   1,008 | 536,870,912,000 |   31,536,000 |    
   1 | Backup   | Vol-        |
|      3 | Scratch    |       0 |       0 |               0 |   31,536,000 |    
   1 | Backup   | *           |
|      4 | RemoteFile |   2,015 |   2,005 |  53,687,091,200 |   95,040,000 |    
   1 | Backup   | Remote-     |
+--------+------------+---------+---------+-----------------+--------------+---------+----------+-------------+
You have messages.

NumVols is 2005 and I have labeled 5 volumes so far I think, like doh.

It is the opposite actually. Your Pool's MaximumVolumes is 2,005 and your number of volumes in the catalog is 2,015, so, somewhere along the line, 10 additional volumes have been manually created. :)


*list media was interesting,
8><-----

A huge quantity of Error'd volumes, is there a safe way to purge the error'd 
volumes (I assume inside mysql)?

You can tell the Director to delete these volumes with a volstatus=Error

* delete volume=xxxx


Of course, this can be scripted if you have hundreds or thousands of them.

This will present a list of only Volumes in this pool with a volstatus of 
'Error':
----8<----
# for vol in $(echo "list media pool=RemoteFile" | bconsole | grep "^| \+[0-9].* Error " | awk '{print $4}'); do echo "list volume=$vol" | bconsole; done
----8<----

After verifying that list looks to be OK (ie: only volumes with 
volstatus=Error), they may be deleted from the catalog.

To automatically delete them from the Bacula catlog:
----8<----
# for vol in $(echo "list media pool=RemoteFile" | bconsole | grep "^| \+[0-9].* 
Error " | awk '{print $4}'); \
do echo "delete XyesX volume=$vol" | bconsole; done
----8<----

*NOTE*, you will need to remove the "X"s around the word 'yes' above. ;)

*NOTE 2* I wrote the two above one liners in an email client. They may, or may 
not be syntactically correct. YMMV. :)


I have maybe 1Tb to go on this job.  I suppose I could stop it?   If so how do 
i do that pls?

Why stop it?  Everything I have shown above can be done while jobs are running.

Newer versions of Bacula (I forget when the feature was added), allow you to 
`stop jobid=xxxx`, then later,
you can resume the job with `resume incomplete jobid=xxxx`


This setup is years old I just keep doing a Debian in place upgrade, is 50gb 
too small for a file size these days?

Yeah, well, version 9 of Bacula is is pretty old. :)

Debian is notorious for having old packages in the official repositories.


You can get current packages (15.0.x) just by signing up at bacula.org.


Hope this helps,
Bill

--
Bill Arlofski
w...@protonmail.com

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to