From 63182d901189c3ffd440bb6909a2f1f74f76fa63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Sachse?= <Joerg.Sachse@slub-dresden.de> Date: Fri, 30 Jul 2021 18:02:56 +0200 Subject: [PATCH] feat: add setup for IBMSP backup client including chack-backup script and necessary deploy key --- tasks/configure_ssh_keys.yml | 11 +++++++ tasks/install_ibmsp_client.yml | 32 ++++++++++++++++++- tasks/main.yml | 2 +- templates/etc/check-backup.cfg.j2 | 53 +++++++++++++++++++++++++++++++ 4 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 templates/etc/check-backup.cfg.j2 diff --git a/tasks/configure_ssh_keys.yml b/tasks/configure_ssh_keys.yml index 5c89ce2..b6787fb 100644 --- a/tasks/configure_ssh_keys.yml +++ b/tasks/configure_ssh_keys.yml @@ -7,3 +7,14 @@ key: "{{ item.key }}" state: "{{ item.state | default('present') }}" loop: "{{ vault_authorized_keys | flatten(levels=1) }}" + +- name: copy deploykey files to managed servers + copy: + src: "{{ role_path }}/../ansible_vaults/{{ role_name }}/{{ item }}" + dest: "~/.ssh/{{ item }}" + owner: "root" + group: "root" + mode: 0400 + loop: + - "id_ed25519_deploykey" + - "id_ed25519_deploykey.pub" diff --git a/tasks/install_ibmsp_client.yml b/tasks/install_ibmsp_client.yml index fa439c0..14859e0 100644 --- a/tasks/install_ibmsp_client.yml +++ b/tasks/install_ibmsp_client.yml @@ -15,7 +15,7 @@ 'tivsm-bacit', # TSM ONTAP Bibliothek (Support für NetApp Speicher) 'tivsm-bahdw', - 'tivsm-jbb', + #'tivsm-jbb', ] state: latest @@ -58,3 +58,33 @@ dest: "/opt/tivoli/tsm/client/ba/bin/{{ item }}" loop: - "dsm.opt" + - "dsm.sys" + +- name: install check-backup scripts + block: + - name: check out check-backup Git repo + git: + repo: "git@git.slub-dresden.de:slub-referat-2-3/check-backup.git" + dest: "/tmp/check-backup/" + key_file: "~/.ssh/id_ed25519_deploykey" + accept_hostkey: true + force: true + - name: copy binaries and config to the system + copy: + src: "/tmp/check-backup/Linux{{ item }}" + dest: "{{ item.name }}" + mode: "{{ item.mode }}" + loop: + - name: "/etc/logrotate.d/dsmcad" + mode: 0444 + - name: "/usr/share/doc/check-backup.man" + mode: 0444 + - name: "/usr/local/bin/check-backup.sh" + mode: 0555 + - name: template script config + template: + src: "etc/check-backup.cfg" + dest: "/etc/check-backup.cfg" + owner: "root" + group: "root" + mode: 0644 diff --git a/tasks/main.yml b/tasks/main.yml index 1035288..9dc2b73 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -18,7 +18,7 @@ ### SSH-KEYS VERWALTEN ### - name: configure SSH PublicKeys - import_tasks: "configure-ssh-publickeys.yml" + import_tasks: "configure_ssh_keys.yml" tags: [ssh] ### SFTP SERVER KONFIGURIEREN ### diff --git a/templates/etc/check-backup.cfg.j2 b/templates/etc/check-backup.cfg.j2 new file mode 100644 index 0000000..be0a8f8 --- /dev/null +++ b/templates/etc/check-backup.cfg.j2 @@ -0,0 +1,53 @@ +##################################### +# # +# CONFIG FILE FOR check-backup.sh # +# # +##################################### + +### HELP + +# Use this file to set custom configurations for check-backup.sh. These settings +# will overwrite the defaults that are encoded in the script. +# As check-backup.sh includes this file, you have to use valid Bash syntax. + + +### CONFIGURATION + +## DSM Logs +# search this path to find logs written by TSM Client +# Default: DSMLOGS_PATH="/var/log/" +DSMLOGS_PATH="/var/log/" +# array of log file names +# Default: DSMLOGS=("dsmsched.log" "dsmerror.log") +DSMLOGS=("dsmsched.log" "dsmerror.log") + +## Log rotation +# general log directory on the system +# Default: BACKUP_FOLDER_PATH="/var/log/" +BACKUP_FOLDER_PATH="/var/log/" +# save rotated logs to this directory +# Default: LOG_BACKUP_FOLDER="${BACKUP_FOLDER_PATH}/tsm_logs_archive/" +LOG_BACKUP_FOLDER="${BACKUP_FOLDER_PATH}/tsm_logs_archive/" +# save this many generations of rotated logs +# Default: LOG_RETENTION_COUNT=5 +LOG_RETENTION_COUNT=5 + +## Error capture +# Regex to search for error messages +# Default: REGEX="ANS[0-9]{4}[ES]" +REGEX="ANS[0-9]{4}[ES]" + +## E-Mail settings +# name of TSM node +# Default: NODENAME="sdvazubitest" +NODENAME="{{ ansible_hostname }}" +# email recipient +# Default: EMAIL_TO="randy.schoelzel@slub-dresden.de" +EMAIL_TO="{{ vault_ibmsp_mail_to }}" +# email carbon copy recipients +# EMAIL_CC="~c Vorname.Nachname@slub-dresden.de,root@${HOSTNAME}" # example +# Default: EMAIL_CC="" +EMAIL_CC="{{ vault_ibmsp_mail_cc }}" +# email sender +# Default: EMAIL_FROM="TSM-Backup-PostSchedCmd@${HOSTNAME}" +EMAIL_FROM="TSM-Backup-PostSchedCmd@${HOSTNAME}" -- GitLab