Ferramentas do usuário

Ferramentas do site


post.sh

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Próxima revisão
Revisão anterior
post.sh [2008/10/15 09:33] – Nova página: Script principal "post.sh", que chama "[[post.php]]" e envia arquivos para "[[recebe.php]]" <source lang="bash"> #!/bin/sh # Script para enviar arquivos via web para servidor http. E... cartolapost.sh [2009/02/17 19:20] (atual) – nova versao que faz upload direto para subpasta cartola
Linha 1: Linha 1:
-Script principal "post.sh", que chama "[[post.php]]" e envia arquivos para "[[recebe.php]]"+Script principal "post.sh", que chama "[[post.php]]" e envia arquivos para "[[recebe.php]]" 
  
 +**Atenção:** esse script se tornou dependente de FreeBSD com o uso do "ls -lT" para obter timestamp do arquivo na origem. Não obstante funcionará, sem ajustar timestamp, em outros sistemas. 
  
-#!/bin/sh 
  
 +#!/bin/sh
 + 
 # Script para enviar arquivos via web para servidor http. Este servidor precisa ter o arquivo # Script para enviar arquivos via web para servidor http. Este servidor precisa ter o arquivo
 # recebe.php especifico. A ideia eh partir os arquivos a serem enviados em blocos de tamanho # recebe.php especifico. A ideia eh partir os arquivos a serem enviados em blocos de tamanho
 # limite para transferencia. # limite para transferencia.
 + 
 LIMITE="5000000" LIMITE="5000000"
 WGET="/usr/local/bin/wget" WGET="/usr/local/bin/wget"
 MD5CMD="/sbin/md5" MD5CMD="/sbin/md5"
 URL="http://servidor.remoto.com/caminhoQualquer/recebe.php" URL="http://servidor.remoto.com/caminhoQualquer/recebe.php"
 +RECEBE="recebe.php"
 +PASTA="zzz/`pwd | sed -e 's/.*\///'`"
 export http_proxy="http://conta:senha@10.0.0.2:8080" export http_proxy="http://conta:senha@10.0.0.2:8080"
 +LOG=`date +%Y%m%d`-log.txt
 +
 +# Antes de tudo, criando pasta destino
 +$WGET -O saida --post-data="criapasta=$PASTA" $URL/$RECEBE 2> /dev/null
 +# Depois altera a URL para postar direto para a pasta criada
 +URL="$URL/$PASTA/$RECEBE"
  
 for ARQ in $*; do for ARQ in $*; do
Linha 27: Linha 37:
     /usr/local/bin/php -e post.php $ARQFIN     /usr/local/bin/php -e post.php $ARQFIN
     $WGET -O saida --post-file=query_string $URL \     $WGET -O saida --post-file=query_string $URL \
-          > /dev/null 2> /dev/null+   > /dev/null 2> /dev/null
     MD5local=`$MD5CMD $ARQFIN | awk '{print $NF}'`     MD5local=`$MD5CMD $ARQFIN | awk '{print $NF}'`
     MD5remoto=`cat saida | grep "$ARQFIN : " | awk '{print $NF}'`     MD5remoto=`cat saida | grep "$ARQFIN : " | awk '{print $NF}'`
     if [ "$MD5local" = "$MD5remoto" ]; then     if [ "$MD5local" = "$MD5remoto" ]; then
-      echo "`date '+%Y/%m/%d-%H:%M:%S'` - $ARQFIN transmitido ok."+      echo "`date '+%Y/%m/%d-%H:%M:%S'` - $ARQFIN transmitido ok." >> $LOG
     else     else
-      echo "`date '+%Y/%m/%d-%H:%M:%S'` - $ARQFIN transmitido com erro."+      echo "`date '+%Y/%m/%d-%H:%M:%S'` - $ARQFIN transmitido com erro." >> $LOG
     fi     fi
   done   done
Linha 43: Linha 53:
     MD5remoto=`cat saida | grep "$ARQ : " | awk '{print $NF}'`     MD5remoto=`cat saida | grep "$ARQ : " | awk '{print $NF}'`
     if [ "$MD5local" = "$MD5remoto" ]; then     if [ "$MD5local" = "$MD5remoto" ]; then
-      echo "`date '+%Y/%m/%d-%H:%M:%S'` - $ARQ juntado ok."+      echo "`date '+%Y/%m/%d-%H:%M:%S'` - $ARQ juntado ok." >> $LOG
       mv $ARQ foi-$ARQ       mv $ARQ foi-$ARQ
     else     else
-      echo "`date '+%Y/%m/%d-%H:%M:%S'` - $ARQ juntado com erro."+      echo "`date '+%Y/%m/%d-%H:%M:%S'` - $ARQ juntado com erro." >> $LOG
     fi     fi
   fi   fi
post.sh.1224074016.txt.gz · Última modificação: 2008/10/15 09:33 por cartola