Fixed #1; Added purge option
This commit is contained in:
77
test/test.sh
77
test/test.sh
@@ -1,43 +1,94 @@
|
||||
#!/bin/sh
|
||||
cd $(dirname $0)
|
||||
|
||||
set -e
|
||||
FILE=random.1m
|
||||
VERBOSE=${VERBOSE:-""}
|
||||
|
||||
# Create TEST File
|
||||
MD5=$(dd if=/dev/urandom bs=1024 count=1024 2>/dev/null |tee ${FILE} |md5sum |awk '{print $1}')
|
||||
MD5=$(dd if=/dev/urandom bs=10240 count=1024 2>/dev/null |tee ${FILE} |md5sum |awk '{print $1}')
|
||||
SIZE=$(ls -l ${FILE}|awk '{print $5}')
|
||||
TSMOPT="-VIRTUALNODENAME=TEST -PASSWORD=TEST -COMPRESSALWAYS=YES"
|
||||
|
||||
TSMPIPE=../tsmpipe
|
||||
|
||||
echo "MD5 of [${FILE}] is [${MD5}] (${SIZE})"
|
||||
|
||||
ln -s /opt/tivoli/tsm/client/api/bin64/EN_US
|
||||
ln -fs /opt/tivoli/tsm/client/api/bin64/EN_US
|
||||
export DSMI_DIR=./
|
||||
export DSMI_CONFIG=dsm.opt
|
||||
|
||||
# Send file to TSM
|
||||
echo "+ TEST SEND FILE!"
|
||||
cat ${FILE} | ${TSMPIPE} -Bcm MD5 -s /test -f ${FILE} -vvv -l ${SIZE} -O"-VIRTUALNODENAME=TEST -PASSWORD=TEST"
|
||||
echo "+++ TEST BACKUP ++++!"
|
||||
echo "+ BACKUP: SEND FILE!"
|
||||
cat ${FILE} | ${TSMPIPE} -Bcm MD5 -s /test -f ${FILE} ${VERBOSE} -l ${SIZE} -O"${TSMOPT}"
|
||||
|
||||
# Send a second time
|
||||
echo "+ TEST SEND FILE AGAIN!"
|
||||
cat ${FILE} | ${TSMPIPE} -Bcm MD5 -s /test -f ${FILE} -vvv -l ${SIZE} -O"-VIRTUALNODENAME=TEST -PASSWORD=TEST"
|
||||
echo "+ BACKUP: SEND FILE AGAIN!"
|
||||
cat ${FILE} | ${TSMPIPE} -Bcm MD5 -s /test -f ${FILE} ${VERBOSE} -l ${SIZE} -O"${TSMOPT}"
|
||||
|
||||
# List it
|
||||
echo "+ TEST LIST FILE!"
|
||||
${TSMPIPE} -Bts /test -f ${FILE} -vvv -O"-VIRTUALNODENAME=TEST -PASSWORD=TEST"
|
||||
echo "+ BACKUP: LIST FILE!"
|
||||
${TSMPIPE} -Bts /test -f ${FILE} -O"${TSMOPT}"
|
||||
|
||||
# Get it back
|
||||
echo "+ TEST RETRIEVE FILE!"
|
||||
${TSMPIPE} -Bxs /test -f ${FILE} -vvv -O"-VIRTUALNODENAME=TEST -PASSWORD=TEST" > ${FILE}.back
|
||||
echo "+ BACKUP: RETRIEVE FILE!"
|
||||
${TSMPIPE} -Bxs /test -f ${FILE} ${VERBOSE} -O"${TSMOPT}" > ${FILE}.back
|
||||
RETRIEVE=$(md5sum ${FILE}.back | awk '{print $1}')
|
||||
if [ "${MD5}" != "${RETRIEVE}" ]; then
|
||||
exit 1
|
||||
else
|
||||
echo "+ RETRIEVE VALID (${RETRIEVE})!"
|
||||
echo "+ BACKUP: RETRIEVE VALID (${RETRIEVE})!"
|
||||
fi
|
||||
|
||||
# Purge the last one
|
||||
echo "+ BACKUP: PURGE!"
|
||||
${TSMPIPE} -Bgs /test -f ${FILE} ${VERBOSE} -O"${TSMOPT}"
|
||||
|
||||
# List it
|
||||
echo "+ BACKUP: LIST FILE IS PURGED!"
|
||||
${TSMPIPE} -Bts /test -f ${FILE} -O"${TSMOPT}"
|
||||
|
||||
# Delete it
|
||||
echo "+ TEST DELETE!"
|
||||
${TSMPIPE} -Bds /test -f ${FILE} -vvv -O"-VIRTUALNODENAME=TEST -PASSWORD=TEST"
|
||||
echo "+ BACKUP: DELETE!"
|
||||
${TSMPIPE} -Bds /test -f ${FILE} ${VERBOSE} -O"${TSMOPT}"
|
||||
|
||||
# List it
|
||||
echo "+ BACKUP: LIST FILE IS DELETED!"
|
||||
${TSMPIPE} -Bts /test -f ${FILE} -O"${TSMOPT}"
|
||||
echo "+++ END BACKUP ++++!"
|
||||
|
||||
echo "+++ TEST ARCHIVE ++++!"
|
||||
echo "+ ARCHIVE: SEND FILE!"
|
||||
cat ${FILE} | ${TSMPIPE} -Acm MD5 -s /test -f ${FILE} ${VERBOSE} -l ${SIZE} -D"Test Archive File" -O"${TSMOPT}"
|
||||
|
||||
# Send a second time
|
||||
echo "+ ARCHIVE: SEND FILE AGAIN! (delay)"
|
||||
sleep 2
|
||||
cat ${FILE} | ${TSMPIPE} -Acm MD5 -s /test -f ${FILE} ${VERBOSE} -l ${SIZE} -D"Test Archive File" -O"${TSMOPT}"
|
||||
DATE=$(date +%m%d%Y:%H%M%S)
|
||||
|
||||
# List it
|
||||
echo "+ ARCIHVE: LIST FILE!"
|
||||
${TSMPIPE} -Ats /test -f ${FILE} -O"${TSMOPT}"
|
||||
|
||||
# Get it back
|
||||
echo "+ ARCIHVE: RETRIEVE FILE! (${DATE})"
|
||||
${TSMPIPE} -Axs /test -f ${FILE} -n ${DATE} ${VERBOSE} -O"${TSMOPT}" > ${FILE}.back
|
||||
RETRIEVE=$(md5sum ${FILE}.back | awk '{print $1}')
|
||||
if [ "${MD5}" != "${RETRIEVE}" ]; then
|
||||
exit 1
|
||||
else
|
||||
echo "+ ARCHIVE: RETRIEVE VALID (${RETRIEVE})!"
|
||||
fi
|
||||
|
||||
# Purge the last one
|
||||
echo "+ ARCHIVE: DELETE!"
|
||||
${TSMPIPE} -Ads /test -f ${FILE} -n ${DATE} ${VERBOSE} -O"${TSMOPT}"
|
||||
|
||||
# List it
|
||||
echo "+ ARCHIVE: LIST FILE AFTER DELETE!"
|
||||
${TSMPIPE} -Ats /test -f ${FILE} -O"${TSMOPT}"
|
||||
echo "+++ END ARCHIVE ++++!"
|
||||
|
||||
rm -f EN_US ${FILE} ${FILE}.back
|
||||
|
Reference in New Issue
Block a user