From 23c335047852ff5a4887eed94e6199b38a3ba5f3 Mon Sep 17 00:00:00 2001 From: hauke Date: Wed, 17 Oct 2018 13:54:39 +0000 Subject: Add IBM Spectrum Protect (aka Tivoli Storage Manager) client. --- sysutils/tsm8/files/tsm_daily.sh | 85 +++++++++++++++++++++++++++++++ sysutils/tsm8/files/tsm_ld.so.conf.i386 | 8 +++ sysutils/tsm8/files/tsm_ld.so.conf.x86_64 | 13 +++++ 3 files changed, 106 insertions(+) create mode 100644 sysutils/tsm8/files/tsm_daily.sh create mode 100644 sysutils/tsm8/files/tsm_ld.so.conf.i386 create mode 100644 sysutils/tsm8/files/tsm_ld.so.conf.x86_64 (limited to 'sysutils/tsm8/files') diff --git a/sysutils/tsm8/files/tsm_daily.sh b/sysutils/tsm8/files/tsm_daily.sh new file mode 100644 index 00000000000..134d5bc29f4 --- /dev/null +++ b/sysutils/tsm8/files/tsm_daily.sh @@ -0,0 +1,85 @@ +#!/bin/sh +# +# Sample TSM startup file, adjust to your requirements and +# call from e.g /etc/daily.local +# +# Daily (nightly) backup via Tivoli Storage Manager (IBM ADSM) +# Set up environment, wrap logfiles and start dsmc. +# +# NetBSD configuration hints: +# +# - TSM expects ${EMULDIR}/etc/mtab to exist and be meaningful. The current +# suse91_base package sets up a symlink to ${EMULDIR}/proc/mounts which +# works on NetBSD 3 if you mount procfs in /etc/fstab like +# +# procfs /emul/linux/proc procfs ro,linux 0 0 +# +# Alternatively, make ${EMULDIR}/etc/mtab a symlink to /etc/fstab. +# - Make sure 'passworddir' is set in tsm.sys so that the passwd file +# ends up in ${PKG_SYSCONFDIR} instead of the shadow hierarchy. +# - The environment variables DSM_DIR, DSM_CONFIG, DSM_LOG +# need to be set properly. DSM_LOG may inadvertently end up in +# the emul shadow hierarchy. +# - For backing up the native filesystem hierarchy, prefix paths with +# '/../', or use a construct like "ln -s / /.`hostname`" to break +# out of the emul shadow hierarchy. +# +# $NetBSD: tsm_daily.sh,v 1.1 2018/10/17 13:54:39 hauke Exp $ + +umask 027 + +# Adapt to your pkgsrc settings +SYSCONFDIR="%PKG_SYSCONFDIR%" +PREFIX="%PREFIX%" +VARBASE="%VARBASE%" + +TSMCONFDIR="${SYSCONFDIR}" +TSMBINDIR="${PREFIX}/emul/linux/opt/tivoli/tsm/client/ba/bin" + +DSM_DIR="${PREFIX}/emul/linux/opt/tivoli/tsm/client/ba/bin" +DSM_CONFIG="${TSMCONFDIR}/dsm.opt" +DSM_LOG="${VARBASE}/log" + +export DSM_DIR DSM_CONFIG DSM_LOG + +# Check if the above settings are reasonable +if [ ! -d ${TSMCONFDIR} ] +then + echo "TSM config directory ${TSMCONFDIR} does not exist, aborting." | logger + exit 1 +elif [ ! -f ${DSM_CONFIG} ] +then + echo "TSM config file ${DSM_CONFIG} not found, aborting." | logger + exit 1 +fi + +LC_CTYPE="en_US" +LC_ALL="en_US" +LANG="en_US" + +export LC_CTYPE LC_ALL LANG + + +LOGNAME="dsm-runlog" + +# Rotate the logs +for ii in 5 4 3 2 1 0 +do + if [ -f ${DSM_LOG}/${LOGNAME}.${ii} ] + then + mv ${DSM_LOG}/${LOGNAME}.${ii} ${DSM_LOG}/${LOGNAME}.$((${ii} + 1)) + fi +done + +if [ -f ${DSM_LOG}/${LOGNAME} ] +then + mv ${DSM_LOG}/${LOGNAME} ${DSM_LOG}/${LOGNAME}.0 +fi + +echo "DSM Daily Backup start: " `date` | logger + +DSMC=${TSMBINDIR}/dsmc + +${DSMC} incremental > ${DSM_LOG}/${LOGNAME} 2>&1 + +echo "DSM Daily Backup finished: " `date` | logger diff --git a/sysutils/tsm8/files/tsm_ld.so.conf.i386 b/sysutils/tsm8/files/tsm_ld.so.conf.i386 new file mode 100644 index 00000000000..e3bc247f440 --- /dev/null +++ b/sysutils/tsm8/files/tsm_ld.so.conf.i386 @@ -0,0 +1,8 @@ +# $NetBSD: tsm_ld.so.conf.i386,v 1.1 2018/10/17 13:54:39 hauke Exp $ +# +# TSM Linux i386 ld.so load paths + +/opt/tivoli/tsm/client/ba/bin +/opt/tivoli/tsm/client/api/bin +/opt/tivoli/tsm/client/hsm/bin/ +/usr/local/ibm/gsk8/lib diff --git a/sysutils/tsm8/files/tsm_ld.so.conf.x86_64 b/sysutils/tsm8/files/tsm_ld.so.conf.x86_64 new file mode 100644 index 00000000000..de8f883cd73 --- /dev/null +++ b/sysutils/tsm8/files/tsm_ld.so.conf.x86_64 @@ -0,0 +1,13 @@ +# $NetBSD: tsm_ld.so.conf.x86_64,v 1.1 2018/10/17 13:54:39 hauke Exp $ +# +# TSM Linux x86_64 ld.so load paths +# +# Part of this tsm version is still 32 bit, so we need to also install the +# 32 bit ld.so.conf snippet under /emul/linux32/etc. + +/opt/tivoli/tsm/client/api/bin64 +/usr/local/ibm/gsk8_64/lib64 +/usr/local/ibm/gsk8_64/lib64/C/icc/icclib +/usr/local/ibm/gsk8_64/lib64/C/icc/osslib +/usr/local/ibm/gsk8_64/lib64/N/icc/icclib +/usr/local/ibm/gsk8_64/lib64/N/icc/osslib -- cgit v1.2.3