Precisa criar um script ksh para transferir arquivos entre o servidor de aplicativos e o servidor db

0

Eu tenho um requisito em que preciso automatizar a transferência de um arquivo específico de um local no servidor de aplicativos para o servidor de banco de dados.

Eu posso fazer isso manualmente usando essas etapas, mas preciso disso no script

#! /bin/ksh

directory path where the file need to be

ftp (hostname of the application server)

 username

 password

file location in the apps server

get filename

quit
    
por sam 20.09.2013 / 15:20

3 respostas

0

Comprei usando o seguinte:

ftp -inv <<EOF
open app.server.address
user username password
cd some/location
get filename
bye
EOF

A opção ftp -i desativa o prompt interativo e -n desabilita o login automático junto com os prompts de nome de usuário e senha.

    
por 20.09.2013 / 16:46
1

Vários clientes FTP permitem que você especifique um nome de usuário e uma senha na linha de comando, dois dos quais eu conheço são ncftp e lftp . Você pode então usar um único comando, não interativo, para recuperar o arquivo dentro do script.

    
por 20.09.2013 / 15:27
0

Se você quiser evitar o armazenamento do nome de usuário e senha no próprio script, poderá criar uma entrada para o host de destino em ~/.netrc com o seguinte formato:

machine <address>
login <username>
password <password>

onde você substitui <address> , <login> e <password> pelo endereço do host, nome de usuário e senha, respectivamente. Você também deve certificar-se de que ~/.netrc tenha permissões adequadas (isto é, somente legível e gravável pelo proprietário). Essa abordagem tem a vantagem de as credenciais serem armazenadas em um único local, que pode ser acessado a partir de vários scripts. Também é mais fácil garantir que ~/.netrc tenha permissões adequadas do que gerenciar permissões para todos scripts que possam precisar usar as credenciais.

Você pode passar os comandos para ftp por meio de um aqui documento ou use lftp com a opção -c para passar os comandos como comando argumentos de linha. Observe que, se você optar pelo primeiro, não deverá especificar a opção -n como ftp , pois isso desativará o login automático usando as credenciais armazenadas em ~/.netrc .

    
por 20.09.2013 / 19:30

Tags