На данный момент сделать второю полную копию хранилища на сервере PDC невозможно – недостаточно места на разделе /mnt/bacula/ ( примонтирован по iSCSI nas4free )
Для этого делается очистка баз от бэкапов:
1. меняем дату в файле:
sudo vi /usr/local/bin/purge-db-and-files.sh
до какого числа очистить базу
DATEFROM=2015-02-12
DATEFROM=2015-02-12
и запускаем его
cd /usr/local/bin/
purge-db-and-files.sh
2. далее чистим хранилище /mnt/bacula/
эта папка (/mnt/bacula/) примонтирована по ISCSI с
сервера nas4Free
sudo rm -rf
/mnt/bacula/*_volume-*
если действительно хотим удалить все:
sudo rm -rf /mnt/bacula/*_volume-*
sudo rm -rf /mnt/bacula/*_volume-*
purge-db-and-files.sh
#!/bin/bash
DATEFROM=2016-12-26
BACKUPFOLDER="/mnt/bacula"
#GETLISTFROM="BCONSOLE"
GETLISTFROM="MYSQL"
# get list to prune
if [[ "${GETLISTFROM}" == "BCONSOLE" ]] ; then
DELETELIST=`echo -e "sqlquery\nselect VolumeName from Media where LastWritten < '${DATEFROM}' order by VolumeName;\n.\nexit" | bconsole | grep '^|' | grep -v ' VolumeName ' | sed -e 's/[ ]*|[ ]*//g'`
echo "Using bconsole"
elif [[ "${GETLISTFROM}" == "MYSQL" ]] ; then
DELETELIST=`mysql --database=bacula --column-names=FALSE -e "select VolumeName from Media where LastWritten < '${DATEFROM}' order by VolumeName;" | sed -e 's/[ ]*|[ ]*//g'`
echo "Using mysql"
fi
if [[ -z "${DELETELIST}" ]] ; then
echo "No records found earlier than ${DATEFROM}"
exit 1
fi
#echo -e "${DELETELIST}"
echo "${DELETELIST}"
echo
echo "WARNING: IT WILL DESTROY THAT FILES ON THE DISK"
echo "Are you sure you want to proceed?"
read -p 'Type YES if you really want to proceed: ' input
echo
if [[ ${input} != YES ]]; then
echo "Ok. Aborting."
exit 1
fi
echo -e "${DELETELIST}" | xargs -I '{}' echo delete yes volume='{}' | bconsole
echo -e "${DELETELIST}" | xargs -I '{}' echo "rm ${BACKUPFOLDER}/"'{}' | while read LINE ; do echo "${LINE}"; "${LINE}"; done