Copiando arquivos de um servidro linux para outro servidor linux utilizando uma aplicação web

6 respostas
dahenz

Bom dia!

Alguém por acaso já fez algo parecido com este tópico??? Preciso muito de ajuda…

Obrigado

6 Respostas

G

dahenz:
Bom dia!

Alguém por acaso já fez algo parecido com este tópico??? Preciso muito de ajuda…

Obrigado

Vc pode ser mais especifico ? O que exatamente você quer fazer, mover um arquivo, ou fazer um upload ?

E

Como você copiaria os arquivos desse servidor para o outro servidor usando uma linha de comando?
Se for com o comando “cp” você usa o comando “cp”, se for com o comando “scp” você usa o comando “scp”, e se for com o comando “sftp” você usa o comando “sftp”. Esses comandos podem ser chamados do Java usando o Runtime.exec.
É questão de como o servidor está disponível para acesso.

dahenz

Pretendo fazer via ftp… Estou seguindo um tutorial daqui do guj mesmo…

Alguém já fez isso seguindo o tutorial???

Obrigado!!

E

Você tem certeza que é possível usar o ftp para copiar esses arquivos? Na maior parte das instalações Linux que já encontrei, o ftp está bloqueado (ele nem é instalado por default). Confira sua instalação.

dahenz

Eu consigo acessar sem problemas, mas na hora de listar os arquivos do diretório da o erro:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/oro/text/regex/MalformedPatternException
at org.apache.commons.net.ftp.parser.DefaultFTPFileEntryParserFactory.createUnixFTPEntryParser(DefaultFTPFileEntryParserFactory.java:121)
at org.apache.commons.net.ftp.parser.DefaultFTPFileEntryParserFactory.createFileEntryParser(DefaultFTPFileEntryParserFactory.java:84)
at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2306)
at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2055)
at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2106)
at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2146)
at br.com.eucatur.view_cte.Execute.main(Execute.java:21)
Caused by: java.lang.ClassNotFoundException: org.apache.oro.text.regex.MalformedPatternException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 7 more

Segue meu pequeno código:

public class Execute {
	public static void main( String[] args ) throws SocketException, IOException {

		FTPClient ftp = new FTPClient();
		    
	    ftp.connect( "ftp.servidor.com.br" );
	    
	    //verifica se conectou com sucesso!
	    if( FTPReply.isPositiveCompletion( ftp.getReplyCode() ) ) {
	        ftp.login( "root", "123" );
	        ftp.changeWorkingDirectory("/cte/filial/vzgr/cte_dacte_saida");
	        FTPFile[] files = ftp.listFiles();
	        for( int i=0; i<files.length; i++ ) {
	          System.out.println( files[i].getName() );
	          System.out.println( files[i].getSize() );
	        }
	        ftp.disconnect();	        
	    } else {
	        //erro ao se conectar
	        ftp.disconnect();
	        System.out.println("Conexão recusada");
	        System.exit(1);
	    }	    
	}
}
Q
dahenz:
Eu consigo acessar sem problemas, mas na hora de listar os arquivos do diretório da o erro:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/oro/text/regex/MalformedPatternException
at org.apache.commons.net.ftp.parser.DefaultFTPFileEntryParserFactory.createUnixFTPEntryParser(DefaultFTPFileEntryParserFactory.java:121)
at org.apache.commons.net.ftp.parser.DefaultFTPFileEntryParserFactory.createFileEntryParser(DefaultFTPFileEntryParserFactory.java:84)
at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2306)
at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2055)
at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2106)
at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2146)
at br.com.eucatur.view_cte.Execute.main(Execute.java:21)
Caused by: java.lang.ClassNotFoundException: org.apache.oro.text.regex.MalformedPatternException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 7 more

Segue meu pequeno código:

public class Execute {
	public static void main( String[] args ) throws SocketException, IOException {

		FTPClient ftp = new FTPClient();
		    
	    ftp.connect( "ftp.servidor.com.br" );
	    
	    //verifica se conectou com sucesso!
	    if( FTPReply.isPositiveCompletion( ftp.getReplyCode() ) ) {
	        ftp.login( "root", "123" );
	        ftp.changeWorkingDirectory("/cte/filial/vzgr/cte_dacte_saida");
	        FTPFile[] files = ftp.listFiles();
	        for( int i=0; i<files.length; i++ ) {
	          System.out.println( files[i].getName() );
	          System.out.println( files[i].getSize() );
	        }
	        ftp.disconnect();	        
	    } else {
	        //erro ao se conectar
	        ftp.disconnect();
	        System.out.println("Conexão recusada");
	        System.exit(1);
	    }	    
	}
}

E aí colega. Tudo bem. Eu estou com um problema parecido com o seu. Quero simplesmente copiar um arquivo de um local para outro dentro da mesma máquina usando o Java no Linux. Só que dá permissão negada mesmo eu já ter dado permissão ao usuário que loga. Pode me ajudar nisso?

Criado 13 de outubro de 2009
Ultima resposta 6 de mar. de 2011
Respostas 6
Participantes 4