Criar script para cópia de arquivos

1. Criar script para cópia de arquivos

Antonio de Oliveira Clementino
bllade

(usa KUbuntu)

Enviado em 04/08/2009 - 18:57h

Galera, preciso de uma ajuda. Preciso criar um script onde eu digite cp /pasta/ARQUIVO.EXT e aí me retornar uma mensagem para eu digitar o ip do local e depois o ip do destino.


  


2. Re: Criar script para cópia de arquivos

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 04/08/2009 - 20:03h

Não entendi ... você não está no servidor de origem nem no de destino, certo?

Se sim, como pretende transferir FTP, SCP ???


3. Re: Criar script para cópia de arquivos

Antonio de Oliveira Clementino
bllade

(usa KUbuntu)

Enviado em 05/08/2009 - 09:25h

Assim: Tenho uma unidade de rede mapeada de um servidor de arquivos como /drive_f na minha máquina e preciso copiar todos os dias arquivos que são desenvolvidos pelos analistas aqui da empresa para esse servidor. Então todo dia eu faço a rotina de cópia desses arquivos, só que eles nunca são os mesmos e eu preciso criar um script para que eu digite somente o comando cp e o arquivo na linha de comando e o script me perguntaria qual a origem e o destino e ele faria o resto (que seria a cópia do arquivo digitado para o local especificado).


4. Re: Criar script para cópia de arquivos

Guilherme Maluf
guimaluf

(usa Slackware)

Enviado em 05/08/2009 - 13:51h

cara
minha sugestão é q vc pequise sobre os seguintes aplicativos:
subversion ou cvs,
rsync
scp



5. Re: Criar script para cópia de arquivos

Antonio de Oliveira Clementino
bllade

(usa KUbuntu)

Enviado em 06/08/2009 - 11:44h

criei um script assim:
#!/bin/sh

$1 cp /desenv /producao

onde /desenv é o servidor de desenvolvimento que ficam os arquivos que os analistas enviam, /producao é o servidor de producao.

Na linha de comando eu digito: :~$./copia.sh /pasta/arquivo.ext /pasta/arquivo.ext

mas retorna um erro de /pasta/arquivo.ext = not found

O q é isso?
O script está correto?


6. Re: Criar script para cópia de arquivos

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 10/08/2009 - 14:06h

acho que o que vc quer fazer é:

cp $1 $2




7. Re: Criar script para cópia de arquivos

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 10/08/2009 - 14:12h

Não sei se melhora ou piora ... fiz um script que pega todos os arquivos alterados hoje e ontem no DESENV e copia para o diretorio PRODUCAO. Isso para evitar colocar nome a nome ... E gera a Sysout do dia... sei lá .. espero que ajude






#Obtem diretorios
#---------------------------------------------
desenv=$1 # Exemplo: /desenv/home/user1/
producao=$2 # Exemplo: /producao/home/user1/
dias="2" # Use 1 para verificar aquivos de hoje
# 2 para ontem , etc


#Cria arquivo de log
#---------------------------------------------
arq_sysout=`date "+sysout_%Y-%m-%d"`
echo `date "+%Y-%m-%d %H:%M:%S INFO: INICIO DE PROCESSAMENTO"` > $arq_sysout
echo "----------------------------------------------------------------------
" >> $arq_sysout


# Localiza arquivos que foram alterados hoje
#---------------------------------------------

find "$desenv"* -type f -ctime +$dias > Lista_de_controle

while read lista
do
cp "$lista" "$producao"`echo $lista | awk -F/ '{ print $NF }'`
rc="$?"
if [ "$rc" -eq 0 ]; then
date "+%Y-%m-%d %H:%M:%S INFO: $lista Copiado com sucesso" >> $arq_sysout
else
echo "" >> $arq_sysout
date "+%Y-%m-%d %H:%M:%S ERRO: ATENCAO! erro ao copiar $lista. RC: $rc" >> $arq_sysout
echo "" >> $arq_sysout
echo "ATENCAO OCORREU UM ERRO - VERIFIQUE A SYSOUT"
fi
done < Lista_de_controle
echo "
----------------------------------------------------------------------" >> $arq_sysout
echo `date "+%Y-%m-%d %H:%M:%S INFO: FIM DE PROCESSAMENTO"` >> $arq_sysout
echo "----------------------------------------------------------------------" >> $arq_sysout
rm Lista_de_controle


8. Re: Criar script para cópia de arquivos

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 11/08/2009 - 13:11h

# Fiz o script abaixo para atender um outro topico, mas acho que pode te ajudar també


menu ()
{
clear
echo "
-------------------------------------------------------------
SCRIPT PARA COPIA DE ARQUIVOS
-------------------------------------------------------------

Informe o arquivo a ser copiado:"
read arquivo_origem
echo "

Informe o diretorio destino:"
read destino
}
processa ()
{
cp -f /"$drive_origem""$arquivo_origem" /"$drive_destino""$destino"
rc=$?
if [ "$rc" -eq 0 ]; then
date "+%Y-%M-%d %H:%m:%S INFO: Arquivo copiado com sucesso no $drive_destino"
else
date "+%Y-%M-%d %H:%m:%S ERRO: ATENCAO - Erro ao copiar $arquivo_origem para $drive_destino"
fi
echo ""
}
if [ -n "$1" -a -n "$2" ]; then
arquivo_origem="$1"
destino="$2"
else
menu
fi
echo "
------------------------------------------------------------
INICIANDO COPIA
------------------------------------------------------------
"




#=========================================================
# ALTERE A PARTE ABAIXO COM OS DADOS DO SEU AMBIENTE
#=========================================================

drive_origem="drive_x" # Indicar o drive origem

drive_destino="drive_r" # Indicar drive destino1
processa
drive_destino="drive_v" # Indicar drive destino2
processa
drive_destino="drive_f" # Indicar drive destino3
processa

#se necessário va copiando estas 2 linhas para acrescentar
#outros drives destino.



echo "
------------------------------------------------ FIM -------"








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts