Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- PARAM_FILE=$1
- DATE_HOUR=$( date "+%Y%m%d_%Hh%M" )
- LOG_OUTPUT=${HOME}/erreur_script_transfert_ftp_"${DATE_HOUR}"
- if [ ! -f ~/tomcat/${PARAM_FILE} ]
- then
- echo "il faut specifier un fichier de conf" >& ${LOG_OUTPUT}
- exit 1
- fi
- perl -pi -e "s/\r//g" ~/tomcat/${PARAM_FILE}
- CONF_FILE=~/tomcat/${PARAM_FILE}
- ftpserver=$( grep ^ftpserver ${CONF_FILE} | cut -d'=' -f2 )
- ftpdir=$( grep ^ftpdir ${CONF_FILE} | cut -d'=' -f2 )
- ftpuser=$( grep ^ftpuser ${CONF_FILE} | cut -d'=' -f2 )
- ftppassword=$( grep ^ftppassword ${CONF_FILE} | cut -d'=' -f2 )
- ftpmode=$( grep ^ftpmode ${CONF_FILE} | cut -d'=' -f2 )
- zipdir=$( grep ^zipdir ${CONF_FILE} | cut -d'=' -f2 )
- logdir=$( grep ^logdir ${CONF_FILE} | cut -d'=' -f2 )
- if [ "x${ftpuser}" = "x" -o "x${ftppassword}" = "x" -o "x${ftpserver}" = "x" -o "x${zipdir}" = "x" -o "x${logdir}" = "x" ]
- then
- echo "il manque une ou des variables" >& ${LOG_OUTPUT}
- exit 1
- fi
- if [ "x${ftpmode}" == "xA" ]
- then
- OPTION_PASSIVE="set ftp:passive-mode off;"
- fi
- LOGFILE=~/tomcat/${logdir}/log_ftp_${DATE_HOUR}.txt
- log_lftp_debug=~/tomcat/${logdir}/log_lftp_debug_${DATE_HOUR}.txt
- #lftp_args="set net:max-retries 5 ; set net:reconnect-interval-base 30 ; set net:reconnect-interval-multiplier 2 ; set net:reconnect-interval-max 580 ; set net:timeout 10 ; set xfer:rate-period 10; set xfer:eta-period 10 ; set net:limit-rate 1048576 "
- lftp_args="${OPTION_PASSIVE} set net:max-retries 5 ; set net:reconnect-interval-base 30 ; set net:reconnect-interval-multiplier 2 ; set net:reconnect-interval-max 580 ; set net:timeout 10 ; set xfer:rate-period 10; set xfer:eta-period 10 ; set ftp:ssl-allow no "
- mkdir -p ~/tomcat/${logdir}/
- echo "debut du transfert : $( date -R )" >> ${LOGFILE}
- if [ "x${ftpdir}" = "x" ]
- then
- ftpdir="."
- fi
- echo "nb de fichiers a transmettre : $( find ~/tomcat/${zipdir}/ -type f | wc -l )" >> ${LOGFILE} 2>&1
- du -h ~/tomcat/${zipdir}/ >> ${LOGFILE} 2>&1
- lftp -u "${ftpuser}","${ftppassword}" -e "debug -o ${log_lftp_debug} 10 ; ${lftp_args} ; mput -O ${ftpdir} ~/tomcat/${zipdir}/* ; quit " "${ftpserver}" >> ${LOGFILE} 2>&1
- RET=$?
- if [ "x${RET}" != "x0" ];
- then
- echo "ERROR:FTP lftp error return code ${RET}" >> ${LOGFILE} 2>&1
- fi
- echo "DEBUT du log debug de lftp:" >> ${LOGFILE} 2>&1
- cat ${log_lftp_debug} >> ${LOGFILE} 2>&1
- rm -f ${log_lftp_debug} >> ${LOGFILE} 2>&1
- echo "FIN du log debug de lftp:" >> ${LOGFILE} 2>&1
- echo "fin du transfert : $( date -R )" >> ${LOGFILE}
- exit ${RET}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement