HylaFAX The world's most advanced open source fax server

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [hylafax-users] Remote Server



On 9/26/2010 4:17 PM, Daniel L. Miller wrote:
On 9/26/2010 4:00 PM, Daniel L. Miller wrote:

Not so fast...need something else for sending. After the send, I need to execute the notify script on the fileserver. A slight tweak to my faxrcvd script will do it - except for one item. The call to faxrcvd includes the filename of the received fax - so processing is simple. But the call to notify only gives me the doneq entry - which does not necessarilty correspond to the docq entry. Is there a way I can get the docq filename from the successful send - besides parsing the doneq file?

Attached is my preliminary notify script for forwarding sent files from the actual HylaFAX server to a remote server for storage & access. I'm new to bash scripting so if I'm breaking any tenets please let me know. Comments are welcome.
--
Daniel
#!/bin/sh
REMOTE_SERVER="bubba.amfeslan.local"
REMOTE_DOCQ="docq"
REMOTE_DONEQ="doneq"
REMOTE_HYLAFAX="/var/spool/hylafax"
REMOTE_NOTIFY="bin/notify.php"

DEBUG=0

CUT=/usr/bin/cut
GREP=/bin/grep
SCP=/usr/bin/scp
SSH=/usr/bin/ssh

DOC_FIELD_NAME=postscript
DOC_FILE_COL=4

DONE_FILE=$1

. bin/common-functions

if [ $# != 3 ] && [ $# != 4 ]; then
    echo "Usage: $0 qfile why jobtime [nextTry]"
    hfExit 1
fi

test_file() {
    if [ ! -f $1 ]; then
	logger -p daemon.error "HylaFAX notify unable to proceed - $1 not found! Exiting!"
        exit 1
    fi
}

test_file $CUT
test_file $GREP
test_file $SCP
test_file $SSH

test_file $DONE_FILE

DOC_FILE=`$GREP $DOC_FIELD_NAME $DONE_FILE | $CUT -d : -f $DOC_FILE_COL`

test_file $DOC_FILE

if [ $DEBUG -ne 0 ]; then
    logger -p daemon.info "HylaFAX notify will copy $DONE_FILE and $DOC_FILE to ${REMOTE_SERVER}:${REMOTE_HYLAFAX}"
fi

if [ $DEBUG -ne 0 ]; then
    logger -p daemon.info "HylaFAX notify copy command: $SCP $DONE_FILE ${REMOTE_SERVER}:${REMOTE_HYLAFAX}/${REMOTE_DONEQ}"
fi
if $SCP $DONE_FILE "${REMOTE_SERVER}:${REMOTE_HYLAFAX}/${REMOTE_DONEQ}"; then
    if [ $DEBUG -ne 0 ]; then
        logger -p daemon.info "HylaFAX notify copy of $DONE_FILE to ${REMOTE_SERVER} successful"
    fi
else
    logger -p daemon.error "HylaFAX notify copy of $DONE_FILE to ${REMOTE_SERVER} failed!"
    exit 1
fi

if [ $DEBUG -ne 0 ]; then
    logger -p daemon.info "HylaFAX notify copy command: $SCP $DOC_FILE ${REMOTE_SERVER}:${REMOTE_HYLAFAX}/${REMOTE_DOCQ}"
fi
if $SCP $DOC_FILE "${REMOTE_SERVER}:${REMOTE_HYLAFAX}/${REMOTE_DOCQ}"; then
    if [ $DEBUG -ne 0 ]; then
        logger -p daemon.info "HylaFAX notify copy of $DOC_FILE to ${REMOTE_SERVER} successful"
    fi
else
    logger -p daemon.error "HylaFAX notify copy of $DOC_FILE to ${REMOTE_SERVER} failed!"
    exit 1
fi

if [ $DEBUG -ne 0 ]; then
    logger -p daemon.info "HylaFAX notify remote command: ${SSH} ${REMOTE_SERVER} cd ${REMOTE_HYLAFAX} ; ${REMOTE_NOTIFY} $@"
fi

${SSH} ${REMOTE_SERVER} "cd ${REMOTE_HYLAFAX} ; ${REMOTE_NOTIFY} $@"
if [ $? -ne 0 ]; then
    logger -p daemon.error "HylaFAX notify remote command on $REMOTE_SERVER failed!"
    exit 1
fi



Project hosted by iFAX Solutions