Взять файл из SFTP

  • Автор темы San40S
  • Дата начала
S

San40S

Доброго времени суток.
Помогите/подскажите как решить вопрос.

Дано:
БД в Lotus Notes и XML-файл на SFTP. Доступ на SFTP привязан к одному IP-шнику. Авторизация по логину и ключу.

Задача:
Достать XML-файл с SFTP и затянуть в БД. Файлы на SFTP выкладываются с определенной периодичностью и обрабатывать их нужно, соответственно, тоже с заданной периодичностью - то есть агентом.

Проблема:
Как достать файл с этого самого SFTP в Lotus Notes?
 
A

Akupaka

googleit: connect to sftp java

Добавлено:
Код:
http://stackoverflow.com/questions/14617/java-what-is-the-best-way-to-sftp-a-file-from-a-server
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
471
есть возможности ОС...
винда:
- команда at
- putty (а конкретно plink)

*nix:
- cron (планировщик)
- стандартный ssh клиент (как пр-ло - идёт в комплекте)

набросать простенький скрипт, кот. будет класть файло, с ремот хоста, в нужный каталог, по расписанию (задействуем cron или at)
 
A

Akupaka

Неожиданно lmike предложил вариант без жавы ;)
А код по ссылке не смотрел, он стоит внимания?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
471
А код по ссылке не смотрел, он стоит внимания?
код-как-код, а сайт интересный, вызывает уважение:
Participants
Dr. Atsuhiko Yamanaka, President & CEO
Dr. Yamanaka is in charge of developing, marketing and supporting products based on Java technology to customers worldwide.
Before Dr. Yamanaka found JCraft at March 1998, he had joined NEC Corporation for two years and worked on researching and developing softwares.
Dr. Yamanaka holds both a master's degree and a doctorate in information science from the Tohoku University, Japan. He also received a bachelor's degree in information science at the Tohoku University. His subjects are related to Mathematical Foundations of Computer Science, especially the Constructive Logic and the design of the functional programming languages.

Добавлено:
Неожиданно lmike предложил вариант без жавы
если можно обойтись стандарными средствами, а не тянуть в домину - я всегда "за"
стандартными я называю именно "средства" поддерживающие стандарты :) , а не костыли и искажения, навязанные проприетарными вендорами
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
541
Есть еще достаточно прост. Использовал его.
Получение файла:
C++:
SFTPClient SFTPObj = new SFTPClient(host, username,password);
try {
int status = SFTPObj.getFile(ImportFile, sftpFolder, writeToLocalFolder);
if(FileTransferStatus.SUCCESS == status){
System.out.println("Copy to " + writeToLocalFolder);
}
else if(FileTransferStatus.FAILURE == status){
System.out.println("Can not copy from sftp");
}
} 
catch(FileTransferException ex){
ex.getCause().printStackTrace();
}
SFTPClient.closeCache();

Отправка:
C++:
SFTPClient SFTPObj = new SFTPClient(host, username,password);
try {
int status = SFTPObj.sendFile(tempdir() + "Export.xml", sftpFolder); 
if(FileTransferStatus.SUCCESS == status){
System.out.println("Send");
}
else if(FileTransferStatus.FAILURE == status){
System.out.println("Can not sent sftp");
}
}
catch(FileTransferException ex){
ex.getCause().printStackTrace();
}
SFTPClient.closeCache();
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!