MOVIMENTAÇÃO DE ARQUIVOS VIA CURL
#!/bin/bash
#BASE_PATH => Diretório onde contém os arquivos .tgz a serem enviados
BASE_PATH=/opt/zimbra/backup/prontos
ENVIADOS=${BASE_PATH}/enviados
PID_FILE=/tmp/pid_import.$$
HOST_DEST="https://repositorio.exemplo.com.br/backup/"
SLEEP=120
USER='usuario'
SENHA='password'
[ -d "${ENVIADOS}" ] || mkdir -p "${ENVIADOS}"
cd $BASE_PATH
LOG(){
echo -e "$(date "+%D %T") $*"
}
SAIR(){
LOG "Fim"
RET=$(rm -vf $PID_FILE)
LOG "$RET"
exit
}
>$PID_FILE
LOG "Início PID: $PID_FILE"
cd ${BASE_PATH}
while [ -e "$PID_FILE" ];do
LOG "Atualizando contas."
DUMPS=$(ls -tr *@* 2>/dev/null)
if [ -z "$DUMPS" ]; then
LOG "Nenhum arquivo .tgz no diretório corrente."
else
for DUMP in $DUMPS;do
LOG "Verificando arquivo $DUMP."
[ -e "$PID_FILE" ] || SAIR
lsof $DUMP
if [ $? -ne 0 ] ;then
let "contr=$contr + 1"
FILE_SIZE=$(stat -c%s $DUMP)
let "FILE_SIZE_MB = $FILE_SIZE / 1048576"
LOG "Arquivo $contr $DUMP com ${FILE_SIZE_MB}Mb"
curl --silent -k -u "${USER}:${SENHA}" -T $DUMP "$HOST_DEST" > /dev/null
mv $DUMP ${ENVIADOS}
else
LOG "Arquivo $DUMP não está pronto para importar."
fi
done
fi
[ -e "$PID_FILE" ] || SAIR
LOG "Sleeping... ${SLEEP}s"
#SAIR
sleep $SLEEP
done
SAIR
Comentários
Postar um comentário