Merge pull request #85 from phillxnet/s3cmd-config-report

Improve reporting on s3cmd state and make disk use log report formats consistent, and add type to destination report
This commit is contained in:
zertrin 2015-04-16 20:49:34 +02:00
commit 8c1af2145d

View file

@ -212,7 +212,7 @@ elif [ "$ENCRYPTION" = "no" ]; then
ENCRYPT="--no-encryption" ENCRYPT="--no-encryption"
fi fi
NO_S3CMD="WARNING: s3cmd is not installed, remote file \ NO_S3CMD="WARNING: s3cmd no found in PATH, remote file \
size information unavailable." size information unavailable."
NO_S3CMD_CFG="WARNING: s3cmd is not configured, run 's3cmd --configure' \ NO_S3CMD_CFG="WARNING: s3cmd is not configured, run 's3cmd --configure' \
in order to retrieve remote file size information. Remote file \ in order to retrieve remote file size information. Remote file \
@ -230,15 +230,18 @@ if [ "`echo ${DEST} | cut -c 1,2`" = "s3" ]; then
if [ ! -x "$S3CMD" ]; then if [ ! -x "$S3CMD" ]; then
echo $NO_S3CMD; S3CMD_AVAIL=false echo $NO_S3CMD; S3CMD_AVAIL=false
elif [ -z "$S3CMD_CONF_FILE" -a ! -f "${HOME}/.s3cfg" ]; then elif [ -z "$S3CMD_CONF_FILE" -a ! -f "${HOME}/.s3cfg" ]; then
S3CMD_CONF_FOUND=false
echo $NO_S3CMD_CFG; S3CMD_AVAIL=false echo $NO_S3CMD_CFG; S3CMD_AVAIL=false
elif [ ! -z "$S3CMD_CONF_FILE" -a ! -f "$S3CMD_CONF_FILE" ]; then elif [ ! -z "$S3CMD_CONF_FILE" -a ! -f "$S3CMD_CONF_FILE" ]; then
S3CMD_CONF_FOUND=false
echo "${S3CMD_CONF_FILE} not found, check S3CMD_CONF_FILE variable in duplicity-backup's configuration!"; echo "${S3CMD_CONF_FILE} not found, check S3CMD_CONF_FILE variable in duplicity-backup's configuration!";
echo $NO_S3CMD_CFG; echo $NO_S3CMD_CFG;
S3CMD_AVAIL=false S3CMD_AVAIL=false
else else
S3CMD_AVAIL=true S3CMD_AVAIL=true
S3CMD_CONF_FOUND=true
if [ ! -z "$S3CMD_CONF_FILE" -a -f "$S3CMD_CONF_FILE" ]; then if [ ! -z "$S3CMD_CONF_FILE" -a -f "$S3CMD_CONF_FILE" ]; then
# if conf file specified and it exists then add it to the command line for s3cmd
S3CMD="${S3CMD} -c ${S3CMD_CONF_FILE}" S3CMD="${S3CMD} -c ${S3CMD_CONF_FILE}"
fi fi
fi fi
@ -395,14 +398,16 @@ get_source_file_size()
get_remote_file_size() get_remote_file_size()
{ {
echo "---------[ Destination Disk Use Information ]--------" >> ${LOGFILE} echo "---------[ Destination Disk Use Information ]--------" >> ${LOGFILE}
FRIENDLY_TYPE_NAME=""
dest_type=`echo ${DEST} | cut -c 1,2` dest_type=`echo ${DEST} | cut -c 1,2`
case $dest_type in case $dest_type in
"fi") "fi")
FRIENDLY_TYPE_NAME="File"
TMPDEST=`echo ${DEST} | cut -c 6-` TMPDEST=`echo ${DEST} | cut -c 6-`
SIZE=`du -hs ${TMPDEST} | awk '{print $1}'` SIZE=`du -hs ${TMPDEST} | awk '{print $1}'`
;; ;;
"s3") "s3")
FRIENDLY_TYPE_NAME="S3"
if $S3CMD_AVAIL ; then if $S3CMD_AVAIL ; then
TMPDEST=$(echo ${DEST} | cut -c 11-) TMPDEST=$(echo ${DEST} | cut -c 11-)
dest_scheme=$(echo ${DEST} | cut -f -1 -d :) dest_scheme=$(echo ${DEST} | cut -f -1 -d :)
@ -412,15 +417,21 @@ get_remote_file_size()
fi fi
SIZE=`${S3CMD} du -H s3://${TMPDEST} | awk '{print $1}'` SIZE=`${S3CMD} du -H s3://${TMPDEST} | awk '{print $1}'`
else else
SIZE="s3cmd not installed." if ! $S3CMD_CONF_FOUND ; then
SIZE="-s3cmd config not found-"
else
SIZE="-s3cmd not found in PATH-"
fi
fi fi
;; ;;
*) *)
SIZE="unsupported by backend" # cover all so just grab first 4 chars from DEST
FRIENDLY_TYPE_NAME=`echo ${DEST} | cut -c 1,4`
SIZE="unsupported on"
;; ;;
esac esac
echo "Current Remote Backup Disk Usage: ${SIZE}" >> ${LOGFILE} echo -e ""$SIZE"\t"$FRIENDLY_TYPE_NAME" type backend" >> ${LOGFILE}
echo >> ${LOGFILE} echo >> ${LOGFILE}
} }