Existe um cliente ftp livre que possui macros

2

No momento, estou usando o filezilla para implantar novas versões de um site no servidor ativo. O problema é que há um ou dois arquivos de configuração, bootstrap, etc., que são diferentes para o site ao vivo e eu tenho que ter cuidado para não sobrescrevê-lo. Também existem grandes áreas de código que nunca mudam (por exemplo, eu uso o framework zend, que é sempre o mesmo).

Gostaria de poder gravar uma macro para carregar o mesmo grupo de arquivos e pastas todas as vezes, excluindo subdiretórios e arquivos que não devem ser sobrescritos.

Algum cliente ftp oferece isso?

    
por wheresrhys 13.10.2010 / 16:57

2 respostas

0
O

ncftp tem suporte para macros. mas eu prefiro usar uma linguagem de script real e depois transferir apenas o que tem que ser transferido. e eu preferiria ssh / sftp em vez de ftp.

    
por 17.01.2011 / 09:34
0

Eu configurei a configuração para esperar que scripts façam exatamente isso. Se você está no Windows para o cliente, então você precisará instalar o cygwin com a expectativa. No linux, você só precisa ter certeza de que o intérprete esperado está instalado. Aqui está um exemplo de script que usei para transferir arquivos de uma caixa do windows para um servidor linux usando o scp. Ele captura a senha e usa-a para chamar scp várias vezes para arquivos individuais. Você poderia usar sftp e wildcards para enviar vários arquivos, ou até mesmo ftp, mas eu não gosto de ftp. O FTP envia senhas sem erros.

#!/usr/bin/expect  --

# Prompt for the password and store it in $PASS
send_user "\n"
send_user "Password? "
stty -echo
expect_user -re "(.*)\n" {set PASS $expect_out(1,string)}
send_user "\n"
stty echo

# Set user name and parameters
# You can remove the above password entry and just set it here.
set user "username"
set server "server.com"
# set PASS "superSecret"
set timeout 30
set destDir "/home/user/www/htdocs/updates/"
set scp "/usr/bin/scp"

set file "/cygdrive/c/Workspace/Release/index.html"
puts "\rSending $file to $server\r"
spawn -noecho $scp $file $user@$server:$destDir
match_max 100000
expect "*?assword:*" 
send -- "$PASS\r"
send -- "\r"
expect eof

set file "/cygdrive/c/Workspace/Release/test.cfg"
puts "\rSending $file to $server\r"
spawn -noecho $scp $file $user@$server:$destDir
match_max 100000
expect "*?assword:*" 
send -- "$PASS\r"
send -- "\r"
expect eof
    
por 13.10.2010 / 17:49

Tags