.png)
Estoy intentando configurar Bacula para que recicle y use automáticamente una cinta aleatoria que puse en la única unidad LTO, pero parece preferir la cinta de respaldo más antigua a pesar de que no está en la unidad. Ya marqué todas las cintas como "Usadas" y me aseguro de que finalice el período de retención.
La configuración de almacenamiento y la configuración de directorio SD.conf
Device {
Name = LTO5
Archive Device = /dev/nst0
Device Type = Tape
Media Type = LTO-5
LabelMedia = yes
Random Access = no
#AutoChanger = yes
AutomaticMount = yes
AlwaysOpen = yes
RemovableMedia = yes
Maximum Concurrent Jobs = 1
LabelMedia = yes
Maximum File Size = 12G
dirección
Pool {
Name = Default
Pool Type = Backup
Recycle = yes # Bacula can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 15 days
He estado leyendo la documentación y parece decir que el algoritmo de almacenamiento preferirá la cinta de la unidad, pero no creo que lo entienda bien.
¿Hay alguna forma de obligar a Bacula a utilizar la cinta que se encuentra actualmente dentro de la unidad?
Respuesta1
Entonces encontré una solución usando un script previo al trabajo.
Modifiqué el dir.conf agregando esta línea al trabajo
Run Before Job = "/etc/bacula/scripts/purgecurrenttape"
y purgecurrenttape es así.
#!/bin/bash
#mount the inside-drive tape
echo "mount storage=LTO5" |bconsole| grep " " >> /var/log/scrcintas.log
sleep 5
#get the name of the mounted tape.
cinta=$(echo "status storage=LTO5" | bconsole |grep Volume: |awk '{print $2}')
if [[ $cinta == CINTA* ]]; #check things....
then
#purge tape.
echo "purge volume=$cinta" | bconsole | grep " " >> /var/log/scrcintas.log
sleep
else
echo error >> /var/log/scrcintas.log
fi
De esta forma siempre utiliza la cinta purgada a pesar de los periodos de retención de los trabajos o volúmenes.