diff --git a/README.md b/README.md new file mode 100644 index 0000000..1562af1 --- /dev/null +++ b/README.md @@ -0,0 +1,109 @@ +# Veeam Agent Configuration + +Configurations exported from the Veeam Agent database per system. The files (.xml) are named after the sever's hostname. + +## Notable References +- https://www.veeam.com/windows-linux-availability-agents.html +- https://wiki.displaysystemsintl.com/support/veeambackup +- https://wiki.displaysystemsintl.com/support/debian/exim-smarthost + +## Description Of Configuration + +The Veeam Agent For Linux Free Edition does not have email notification and therefore makes it difficult to manage and monitor +each server. Email notification has been added by calling a backup script that once configured will in turn run a Veeam Agent job. + +Email messages are sent containing the following information. + +- job name +- job state +- job configuration +- job session log (attached to email if job failed) + +A Veeam Agent job is ran utilizing cron for scheduling under the root user. Two crontab entries are created to run a +incremental backup and then another to run an activefull backup. This process unfortunately is done manually. + +**Note:** An activefull backup is done by passing an argument of "full" without double quotes to the backup script. + +## Backup Script Installation Instructions For Linux + +**Note:** Do not use "veeamconfig ui" to schedule a job. + +**Note:** It is assumed the Veeam Agent For Linux has been installed and configured along with exim and mailx. + +1. Create the directory to store the backup script and temp files. + ``` + # mkdir /etc/veeam/scripts + ``` +1. Get the Veeam Agent configuration file and backup script. + ``` + $ git clone gitlab@gitlab.displaysystemsintl.com:infrastructure/servers/veeam-agent configuration.git + ``` +1. Import applicable Veeam Agent configuration file. + ``` + # veeamconfig config import --file .xml + ``` +1. Move the backup script. + ``` + # mv veeam-backup.sh /etc/veeam/scripts/ + ``` +1. Set permissions. + ``` + # chmod -R 700 /etc/veeam/scripts + ``` +1. Set ownership. + ``` + $ chown -R root:root /etc/veeam/scripts + ``` +1. Edit backup script settings. JOBNAME and EMAIL should be all that is required to be altered. + ``` + # nano /etc/veeam/scripts/veeam-backup.sh + ``` + ``` + # =================================================== + # = Settings = + # =================================================== + JOBNAME="Job-Name-Here" + SCRIPT_DIR="/etc/veeam/scripts" + LOG_DIR="/var/log/veeam/Backup/$JOBNAME" + JOB_INFO=$(veeamconfig job info --name "$JOBNAME") + EMAIL="systems@example.com" + # ==================================================== + # = DO NOT EDIT BELOW THIS LINE! = + # ==================================================== + ``` +1. Create cronjob entries. Make sure to stagger each backup. + ``` + # crontab -e + ``` + ``` + 30 23 * * * /etc/veeam/scripts/veeam-backup.sh + 59 23 1 * * /etc/veeam/scripts/veeam-backup.sh full + ``` + +## How To... + +The instructions are based upon the Veeam Agent For Linux/Windows v3. + +### Exporting Configuration File + +Linux +``` +# veeamconfig config export --file .xml + +``` +Windows +``` +C:\Program Files\Veeam\EndPoint Backup\Veeam.Agent.Configurator.exe -export /f:C:\Users\user-name-here\Documents\.xml +``` + +### Importing Configuration File + +Linux +``` +# veeamconfig config import --file .xml +``` + +Windows +``` +C:\Program Files\Veeam\EndPoint Backup\Veeam.Agent.Configurator.exe -import /f:C:\Users\user-name-here\Documents\.xml +```