#!/bin/bash
#***************************************************************************************
#* ARCHIVEER-HOST  Ben Makkink 19-07-2024                                              *
#* Script om met BackkupPC een archief (tarball) te maken van een Host RSYNC Backup    *
#* Dit script bevat het on-line commando voor het schedulen met een CRON               *
#***************************************************************************************
# In BackupPC is een host 'archivaris' geconfigureerd. Deze host kan een archief
# (tarball) aanmaken van de laatste backup van een andere (rsyncd/rsync) host. Van host
# 'archivaris' is ArchiveDest gezet naar /vault/backuppc.
# Deze map is chown backkuppc:root en chmod 750.
# Het starten van een archivering kan in BackkupPC helaas niet gescheduled worden, maar
# wel met een commandline in dit script en een cron.
#
# De commandline syntax is:
# # BackupPC_archiveStart archiveHost userName hosts...
#
# Hierin is archiveHost 'archivaris' en userName de naam van de aanvrager: 'root'
# Voor hosts... vullen we de gewenste te archiveren host in.
# BackupPC draait niet in een shell, dus het is noodzakelijk dat de volledige 'paths'
# gebruikt worden
#***************************************************************************************
#
arch_host=$1
del_host="/vault/backuppc/"$arch_host".*"

# Bewaar alleen de laatste tarballs van elke $arch_host
# Bewaar 3: tail -n +4
# Bewaar 2: tail -n +3
# Bewaar 1: tail -n +2

ls -t $del_host | tail -n +3 |xargs rm -f --;

# Voer het archiverings-commando uit als BackupPC-user 'backuppc'
sudo -u backuppc /usr/share/backuppc/bin/BackupPC_archiveStart archivaris root $arch_host;

# Crons voor elke individuele host zullen dit script wekelijks uitvoeren met het
# commando : archiveer-host <host> Waarbij <host> de naam van de te archiveren host is
