JS7®JobSchedulerは独SOS社(Software- und Organisations-Service GmbH)によって開発されている、オープンソースのジョブ管理システムです。
JS7®JobSchedulerではYADEと呼ぶファイル転送機能が組み込まれており、ジョブからファイル転送の仕組みを利用することができます。
本記事では、JS7®JobSchedulerでファイル転送機能を利用する方法を記載しています。
詳細な情報については、以下をご覧下さい。
- ナレッジベース(英語) https://kb.sos-berlin.com/display/PKB/JS7
- 日本語紹介資料 https://www.ossl.co.jp/
- 日本語フォーラム https://groups.google.com/forum/?hl=ja#!forum/jobscheduler-ja
- Facebook https://www.facebook.com/Jobscheduler-Japan-%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97-594469610565511/timeline/
- 日本JobSchedulerユーザーグループ https://sites.google.com/site/jobschedulerja/
- JIRA(英語) https://change.sos-berlin.com/secure/Dashboard.jspa
- User Forum(英語) http://sourceforge.net/projects/jobscheduler/forums/forum/486122
- SOS社ホームページ http://www.sos-berlin.com
1. 前提条件
JS7® JobScheduler V.2.3以上がインストール済みであること
ワークフローの作成/実行が一通りできること
JS7® JobSchedulerの概要及びインストール方法については以下を参照ください
Dockerでのインストール手順 https://qiita.com/satoruf/items/360fee5293611433ed33
Windowsでのインストール手順 https://qiita.com/Yoshitami/items/6804584592956a483364
Linux/CLIでのインストール手順 https://qiita.com/satoruf/items/fa9846f4376d1a50a67e
JS7® JobSchedulerクイックスタートhttps://qiita.com/satoruf/items/96f21ef25bcb35e47b21
2. YADEについて
(1) アーキテクチャー
YADEはJS7エージェントに組み込まれているため別途インストールや設定が不要で、ジョブの中からファイル転送が行え、全ての実行計画・履歴をJOCコックピットで集中管理できます。
(2) 機能概要
- マルチプロトコル: ftp/ftps/sftp/http/https/SMB/WebDAV/ローカルファイルに対応し、ソースとターゲットで異なるプロトコルを使用できます。
- ゼロタッチダウン: YADEクライアント上ではデータストリームは32KB(変更可能)ごとのチャンクでメモリー上に展開され、ローカルストレージには保存されません。
- マルチプラットフォーム: YADEはJavaで実装されているため、JS7エージェント同様Java(1.8以上)が稼働する環境であればOSを選びません。
-
ジャンプホスト転送: インターネット経由でファイルアップロード・ダウンロードする場合でも、DMZ上に中継用ジャンプホストを配置することによって安全なデータ交換を実現します。
- アトミック転送: ファイル送信先で転送途中のファイルが処理開始されないように、転送完了するまで自動的にファイル名を一時的に変更し、転送完了後に正式なファイル名に変更します。
- トランザクショナル転送: 複数のファイルを送信する場合、一部のファイルでエラーが発生し、リトライが全て失敗した場合、全ての送信されたファイルが取り消されます。
- ファイル完全性確認: ファイルが送信元と受信先で差異がないか、チェックサムとサイズで確認できます。
- ファイル圧縮: ファイル送信時に自動的に圧縮できます。
- クレデンシャルストア機能: 認証情報にクレデンシャルストアが使用できます。
3. ファイル転送の作成
ファイル転送定義はXML形式となっており、XSDスキーマを使うことによって穴埋め形式で作成することができます。
XSDスキーマ(YADE_configuration_v1.12.xsd)がJOCコックピットにインストールされている必要がありますが、Dockerイメージには含まれていませんので、別途インストールする必要があります。詳細は下記をご参照ください。
(1) ジョブリソースの作成
最初にYADEで使用するパラメータを設定するために、ジョブ定義メニューのインベントリーからジョブリソース新規作成をクリックします。
適当な名前を入力し、ここでは何もせずに登録されたことを確認します。
(2) ファイル転送定義の作成
ファイル転送定義を作成するには、ジョブ定義メニューのファイル転送タブから新規作成をクリックし、Configurationsのアクションメニューから子ノードを追加 > JobResourceを選択します。
属性のname欄をクリックすると先ほど作成したジョブリソースが表示されるのでそれを選択。
environment_variable = yadeXml
variable = YADE_XML
と入力し確認、配置をクリック。
先ほど作成したジョブリソースをインベントリーから開くと、引数と環境変数が設定されていることを確認します。
ファイル転送の定義項目
定義には先ほど作成したJobResource以外に大きく分けて以下の3つのノードがあり、各ノードに複数のエントリーを作成することができます。
各ノードの説明は、Configurationsのアクションメニューから全子ノード表示をクリックすると表示されます。
Fragments: Profilesから参照される共通設定
-ProtocolFragments: 送受信先サーバーへの通信プロトコル、ホスト名、認証情報などを設定
-NotificationFragments: 通知用メール内容設定(ワークフロージョブの通知設定とは別)
-CredentialStoreFragments: クレデンシャルストアの設定
-MailServerFragments: 通知用メールサーバー設定(ワークフロージョブの通知設定とは別)
Profiles: 対象サーバーと操作ごとに設定し、Profile毎に下記から必要なものを設定、profile名は後述するジョブ変数$YADE_PROFILEで使用する
-Operation: Copy/Move/Remove/GetListなどのファイル操作、ソースとターゲットおよびオプションを設定
-Client: クライアント情報(オプション)
-JobScheduler: JITLジョブ作成(JS7では廃止)
-Logging: ファイル転送ログ定義(オプション)
-NotificationTriggers: 通知メール設定(NotificationFragmentsを参照)
-Notofications: 通知用メールサーバー設定(MailServerFragmentsを参照)
-Assertions: ファイル転送の結果判定条件(オプション)
-Documentation: Profileに関するドキュメントリンク(オプション)
-SystemPropertyFiles: Profileに設定するJavaプロパティ(オプション)
General: Configuration内全てに適用される基本設定
-SystemPropertyFiles: Profileに設定するJavaプロパティ(オプション)
-Logging: ファイル転送ログ定義(オプション)
-Notofications: 通知用メールサーバー設定(MailServerFragmentsを参照)
-Assertions: ファイル転送の結果判定条件(オプション)
-Documentation: Profileに関するドキュメントリンク(オプション)
-RetryOnConnectionError: 送受信先とのコネクションエラー時のリトライ回数、間隔設定(オプション)
ファイル転送の定義例
本記事では簡単な例としてローカルファイルからリモートサーバーにファイルをsftpコピーする定義を作成します。
- JobRsource Fragments: 先ほど作成した"FileTransfer"リソース定義を設定します。
- ProtocolFrangments: アクションメニューの子ノードを追加からSFTPFrangmentを選択し、nameにユニークな名称を入力します。
SFTPFrangmentのアクションメニューの子ノードを追加から、BasicConnectionとSSHAuthenticationを作成します。
BasicConnectionのHostnameにはFQDN名/URL/IPアドレスなどを入力、Portには使用ポート番号(sftpは22)を入力します。
SSHAuthenticationにはアカウント名、パスワードを入力します。
クレデンシャルストアの利用
クレデンシャルストアを使用すると、上記ProtocolFrangmentsのHostname, Account, Password, Publickey
などの項目を平文で書くことなくcs://@url, cs://@user, cs://@password, cs://@attachment
のようにクレデンシャルストアに登録した内容を呼び出せます。
- そのために、大元のFrangmentsのアクションメニューの子ノードを追加から、CredentialStoreFragmentsを作成しnameにユニークな名前を入力します。
- 次にCredentialStoreFragmentsのアクションメニューの子ノードを追加から、CSFile, CSAuthentication, CSEntryPathを作成します(各項目内容についてはクレデンシャルストアを参照してください)
- 最後に作成済みのProtocolFragments>SFTPFragmentsのアクションメニューの子ノードを追加から、CredentialStoreFragmentRefを作成し、CredentialStoreFragmentsで作成したnameを選択します。
次は、実際のファイル操作を定義するためにProfileを作成します。
- Profile: Profilesアクションメニューの子ノードを追加からProfileを選択し、nameにユニークな名称を入力します。
- Operation: Profileアクションメニューの子ノードを追加からファイル操作を選択(本記事ではCopy)し、CopySourceとCopyTargetを作成します。
- CopySource: 本記事ではローカルファイルを転送しますので、CopySourceFragmentsRef>LocalSourceを作成します。デレクトリ/ファイル名などを設定することもできますが、今回はジョブの中でオーダー変数で指定しますのでここでは設定しません。
- CopyTarget: CopyTargetアクションメニューの子ノードを追加からCopyTargetFragmentRefとDirectoryを作成し、CopyTargetFragmentRefには、ProtocolFragmentで作成したSFTPFragment名を選択します。
- Directoryは、送信先リモートサーバーの保存先ディレクトリーパスを指定します。
上記定義のサンプルXML(demo.xmlで保存してファイル転送定義メニューからインポート可能)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Configurations>
<JobResource name="Filetransfer" variable="yadeXml" environment_variable="YADE_XML"/>
<Fragments>
<ProtocolFragments>
<SFTPFragment name="demo_sftp">
<BasicConnection>
<Hostname><![CDATA[cs://@url]]></Hostname>
<Port><![CDATA[22]]></Port>
</BasicConnection>
<SSHAuthentication>
<Account><![CDATA[cs://@user]]></Account>
<AuthenticationMethodPassword>
<Password><![CDATA[cs://@password]]></Password>
</AuthenticationMethodPassword>
</SSHAuthentication>
<CredentialStoreFragmentRef ref="demo"/>
</SFTPFragment>
</ProtocolFragments>
<CredentialStoreFragments>
<CredentialStoreFragment name="demo">
<CSFile><![CDATA[/var/sos-berlin.com/js7/agent/var_4445/config/demo.kdbx]]></CSFile>
<CSAuthentication>
<KeyFileAuthentication>
<CSKeyFile><![CDATA[/var/sos-berlin.com/js7/agent/var_4445/config/demo.keyx]]></CSKeyFile>
</KeyFileAuthentication>
</CSAuthentication>
<CSEntryPath><![CDATA[demo/js7centos7]]></CSEntryPath>
</CredentialStoreFragment>
</CredentialStoreFragments>
</Fragments>
<Profiles>
<Profile profile_id="sftp_demo_from224_to249">
<Operation>
<Copy>
<CopySource>
<CopySourceFragmentRef>
<LocalSource/>
</CopySourceFragmentRef>
</CopySource>
<CopyTarget>
<CopyTargetFragmentRef>
<SFTPFragmentRef ref="demo_sftp"/>
</CopyTargetFragmentRef>
<Directory><![CDATA[/tmp]]></Directory>
</CopyTarget>
</Copy>
</Operation>
</Profile>
</Profiles>
</Configurations>
定義完成後、画面右上の確認、配置ボタンをクリックしエラーなく配置されることを確認します。
(3) ファイル転送ワークフローの作成
1.ワークフロー作成
ジョブ定義>インベントリーメニューから、新規ワークフロー作成を選択し、適当な名前を登録します。
- ジョブリソースは、"Default"と作成した"Filetransfer"を設定します。
- ワークフローオーダー作成時に送信ファイル指定できるように、fileというオーダー変数を作成し、String型で、送信元ファイルパスを登録します。
2.ジョブ作成
適当な名前でshellジョブを作成します。
YADEを使用するためのshellスクリプトは下記だけです。
$JS7_YADE_BIN \
-settings $YADE_XML \
-profile $YADE_PROFILE \
-file_path $YADE_FILE_PATH \
-log-level debug
- $JS7_YADE_BIN: Defaultジョブリソースで設定されているYADEクライアントスクリプトへのパス
eg.$JS7_AGENT_HOME/yade/bin/yade.sh
- settings $YADE_XML: Filetransferジョブリソースで設定されているファイル転送定義ファイル
- profile $YADE_PROFILE: ファイル転送定義で作成したProfile名
- file_path $YADE_FILE_PATH: 送信元ファイルパス(オプション)
- log-level: Log4j2のログレベル、info, debug, trace (オプション)
ジョブ環境変数設定
上記shellスクリプトで使う変数を設定します。
以上でワークフローが作成できましたので配置し、ワークフローメニューから選択しオーダー追加します。
上記ワークフローのサンプルJSON(保存してワークフローアクションメニューからアップロード可能)
{
"version": "1.1.0",
"timeZone": "Etc/UTC",
"title": "初めてのファイル転送",
"documentationName": "PKB-JS7-OnlineDemo-Workflow-jdTransferFiles",
"orderPreparation": {
"parameters": {
"file": {
"type": "String",
"default": "\"/tmp/test.txt\""
}
},
"allowUndeclared": false
},
"jobResourceNames": [
"Default",
"Filetransfer"
],
"instructions": [
{
"TYPE": "Execute.Named",
"jobName": "yade-transfer-file",
"label": "move-transfer-file"
}
],
"jobs": {
"yade-transfer-file": {
"agentName": "primaryAgent",
"executable": {
"TYPE": "ShellScriptExecutable",
"script": "#!/bin/sh\necho \"YADE_XML: $YADE_XML\"\necho \"using workflow: $JS7_WORKFLOW_NAME\"\necho \"running job: $JS7_JOB_NAME\"\n\nif [ ! -f \"$YADE_FILE_PATH\" ]\nthen\n echo \"----- file does not exist: $YADE_FILE_PATH\"\n echo \"----- use workflow jdCreateDemoYadeFiles to create files\"\n exit 1\nfi\n\n$JS7_YADE_BIN \\\n -settings $YADE_XML \\\n -profile $YADE_PROFILE \\\n -file_path $YADE_FILE_PATH \\\n -log-level debug\n",
"env": {
"YADE_PROFILE": "\"sftp_demo_from224_to249\"",
"YADE_FILE_PATH": "$file"
},
"v1Compatible": false
},
"skipIfNoAdmissionForOrderDay": false,
"parallelism": 10,
"graceTimeout": 15,
"failOnErrWritten": false,
"jobResourceNames": [
"pdJRtransfer",
"Default"
],
"title": "Pick up files by File Watching and transfer files with YADE"
}
}
}
上記ワークフローのdebugログ例
2022-06-21 12:23:42.685+09:00 [MAIN] [OrderStarted] id=#2022-06-21#T78182256471-root, pos=0
2022-06-21 12:23:42.777+09:00 [MAIN] [OrderProcessingStarted] id=#2022-06-21#T78182256471-root, pos=0, Job=yade-transfer-file, Agent(url=http://js7-agent-standalone:4445, name=primaryAgent, time=2022-06-21 12:23:42.685+09:00)
2022-06-21 12:23:42.685+09:00 [MAIN] [Start] Job=yade-transfer-file, Agent (url=http://js7-agent-standalone:4445, id=js7-agent-standalone, name=primaryAgent)
2022-06-21 12:23:43.121+09:00 [STDOUT] YADE_XML: /var/sos-berlin.com/js7/agent/var_4445/work/values/0/13.xml
using workflow: TransferFiles
running job: yade-transfer-file
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ START : YADE.SH +
+ ---------------- +
+ DATE : Tue Jun 21 03:23:42 UTC 2022 +
+ HOSTNAME : js7-agent-standalone +
+ USER : +
+ CALL : /var/sos-berlin.com/js7/agent/yade/bin/yade.sh -settings /var/sos-berlin.com/js7/agent/var_4445/work/values/0/13.xml -profile sftp_demo_from224_to249 -file_path /tmp/test.txt -return-values "/var/sos-berlin.com/js7/agent/var_4445/work/tmp/returnValues-3094423932504644641.tmp" +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
2022-06-21 12:23:45.887+09:00 [STDOUT] 03:23:45.475 [main] DEBUG com.sos.DataExchange.JadeBaseEngine - set loglevel to DEBUG due to option verbose = 3
03:23:45.490 [main] DEBUG com.sos.vfs.common.options.SOSProviderOptions - load KeePass from file /var/sos-berlin.com/js7/agent/var_4445/config/demo.kdbx
03:23:45.491 [main] DEBUG com.sos.keepass.SOSKeePassDatabase - [SOSKeePassDatabase][/var/sos-berlin.com/js7/agent/var_4445/config/demo.kdbx]isKdbx=true
03:23:45.581 [main] DEBUG com.sos.keepass.SOSKeePassDatabase - [getKDBXDatabase]/var/sos-berlin.com/js7/agent/var_4445/config/demo.kdbx
2022-06-21 12:23:47.174+09:00 [STDOUT] 03:23:46.773 [main] DEBUG com.sos.vfs.common.options.SOSProviderOptions - attachmentPropertyName=null
03:23:46.775 [main] DEBUG com.sos.keepass.SOSKeePassDatabase - [getEntryByPath]demo/js7centos7
03:23:46.776 [main] DEBUG com.sos.vfs.common.options.SOSProviderOptions - [target_host]set from demo/js7centos7@URL
03:23:46.776 [main] DEBUG com.sos.keepass.SOSKeePassDatabase - [getEntryByPath]demo/js7centos7
03:23:46.777 [main] DEBUG com.sos.vfs.common.options.SOSProviderOptions - [target_user]set from demo/js7centos7@UserName
03:23:46.777 [main] DEBUG com.sos.keepass.SOSKeePassDatabase - [getEntryByPath]demo/js7centos7
03:23:46.777 [main] DEBUG com.sos.vfs.common.options.SOSProviderOptions - [target_password]set from demo/js7centos7@Password
03:23:46.777 [main] DEBUG com.sos.vfs.common.options.SOSProviderOptions - [target_passphrase]skip
03:23:46.778 [main] DEBUG com.sos.vfs.common.options.SOSProviderOptions - [target_domain]skip
03:23:46.778 [main] DEBUG com.sos.vfs.common.options.SOSProviderOptions - [target_proxy_host]skip
03:23:46.778 [main] DEBUG com.sos.vfs.common.options.SOSProviderOptions - [target_proxy_user]skip
03:23:46.778 [main] DEBUG com.sos.vfs.common.options.SOSProviderOptions - [target_proxy_password]skip
03:23:46.791 [main] INFO JadeReportLog -
************************************************************************
* *
* YADE - Managed File Transfer *
* -----www.sos-berlin.com----- *
* *
************************************************************************
Version = 1.13.13 (2022-04-06 10:55, revision 2c46be1d492247b7810c0c4f34e162a85f378702) Copyright 2003-2022 SOS GmbH Berlin
Date = 2022-06-21 03:23:46
SettingsFile = /var/sos-berlin.com/js7/agent/var_4445/work/values/0/13.xml
Profile = sftp_demo_from224_to249
Operation = copy
Transactional = false
+------------Source------------
| Protocol = local
| Host = js7-agent-standalone
| IP = 172.18.0.11
| FilePath = /tmp/test.txt
| ErrorWhenNoFilesFound = true
| Recursive = false
| Remove = false
+------------Target------------
| Protocol = sftp
| Host = 192.168.110.249
| IP = 192.168.110.249
| User = scheduler
| AuthMethod = password
| Password = ***
| Directory = /tmp/
| OverwriteFiles = true
03:23:46.792 [main] INFO com.sos.DataExchange.SOSDataExchangeEngine -
************************************************************************
* *
* YADE - Managed File Transfer *
* -----www.sos-berlin.com----- *
* *
************************************************************************
Version = 1.13.13 (2022-04-06 10:55, revision 2c46be1d492247b7810c0c4f34e162a85f378702) Copyright 2003-2022 SOS GmbH Berlin
Date = 2022-06-21 03:23:46
SettingsFile = /var/sos-berlin.com/js7/agent/var_4445/work/values/0/13.xml
Profile = sftp_demo_from224_to249
Operation = copy
Transactional = false
+------------Source------------
| Protocol = local
| Host = js7-agent-standalone
| IP = 172.18.0.11
| FilePath = /tmp/test.txt
| ErrorWhenNoFilesFound = true
| Recursive = false
| Remove = false
+------------Target------------
| Protocol = sftp
| Host = 192.168.110.249
| IP = 192.168.110.249
| User = scheduler
| AuthMethod = password
| Password = ***
| Directory = /tmp/
| OverwriteFiles = true
03:23:46.795 [main] DEBUG com.sos.DataExchange.SOSDataExchangeEngine - [baseOptions]
SendTransferHistory = true
source_dir =
target_dir = /tmp
file_path = /tmp/test.txt
local_dir =
operation = copy
profile = sftp_demo_from224_to249
protocol = sftp
verbose = 3
return-values = /var/sos-berlin.com/js7/agent/var_4445/work/tmp/returnValues-3094423932504644641.tmp
local_user = jobscheduler
03:23:46.796 [main] DEBUG com.sos.DataExchange.SOSDataExchangeEngine - [baseOptions][mailOptions]
03:23:46.797 [main] DEBUG com.sos.DataExchange.SOSDataExchangeEngine - [source]
source_protocol = local
03:23:46.797 [main] DEBUG com.sos.DataExchange.SOSDataExchangeEngine - [target]
target_include = protocol_fragment_sftp@demo_sftp,credentialstore_fragment@demo
target_dir = /tmp
target_host = 192.168.110.249
target_port = 22
target_protocol = sftp
target_user = scheduler
target_password = *****
target_ssh_auth_method = password
target_keepass_attachment_property_name =
03:23:46.797 [main] DEBUG com.sos.DataExchange.SOSDataExchangeEngine - [target][credential store]
target_CredentialStore_AuthenticationMethod = privatekey
target_CredentialStore_FileName = /var/sos-berlin.com/js7/agent/var_4445/config/demo.kdbx
target_CredentialStore_KeyFileName = /var/sos-berlin.com/js7/agent/var_4445/config/demo.keyx
target_CredentialStore_KeyPath = demo/js7centos7
target_use_credential_Store = true
03:23:46.818 [main] DEBUG com.sos.vfs.common.SOSVFSFactory - [target]sftp
03:23:46.834 [main] INFO com.sos.vfs.sftp.jcraft.SOSSFTPJCraft - [sftp]SOSVfs-D-0101: Try to connect to host '192.168.110.249' at Port '22'.
03:23:46.835 [main] DEBUG com.sos.vfs.sftp.jcraft.SOSSFTPJCraft - user=scheduler, host=192.168.110.249, port=22
03:23:46.849 [main] DEBUG com.sos.vfs.sftp.jcraft.SOSSFTPJCraft - [password]
03:23:46.851 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - Connecting to 192.168.110.249 port 22
03:23:46.862 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - Connection established
03:23:46.885 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - Remote version string: SSH-2.0-OpenSSH_7.4
03:23:46.885 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - Local version string: SSH-2.0-JSCH-0.1.54
03:23:46.886 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour256
03:23:46.982 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - CheckKexes: diffie-hellman-group14-sha1,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521
03:23:47.172 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - CheckSignatures: ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
2022-06-21 12:23:47.581+09:00 [STDOUT] 03:23:47.180 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - SSH_MSG_KEXINIT sent
03:23:47.180 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - SSH_MSG_KEXINIT received
03:23:47.180 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: server: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
03:23:47.180 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: server: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
03:23:47.180 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: server: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc,blowfish-cbc,cast128-cbc,3des-cbc
03:23:47.181 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: server: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc,blowfish-cbc,cast128-cbc,3des-cbc
03:23:47.181 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: server: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
03:23:47.181 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: server: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
03:23:47.181 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: server: none,zlib@openssh.com
03:23:47.181 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: server: none,zlib@openssh.com
03:23:47.181 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: server:
03:23:47.181 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: server:
03:23:47.182 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: client: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
03:23:47.182 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: client: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
03:23:47.182 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-ctr,aes192-cbc,aes256-ctr,aes256-cbc
03:23:47.182 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-ctr,aes192-cbc,aes256-ctr,aes256-cbc
03:23:47.182 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96
03:23:47.182 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96
03:23:47.183 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: client: none
03:23:47.183 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: client: none
03:23:47.183 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: client:
03:23:47.183 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: client:
03:23:47.183 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: server->client aes128-ctr hmac-sha1 none
03:23:47.183 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - kex: client->server aes128-ctr hmac-sha1 none
03:23:47.199 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - SSH_MSG_KEX_ECDH_INIT sent
03:23:47.199 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - expecting SSH_MSG_KEX_ECDH_REPLY
03:23:47.250 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - ssh_rsa_verify: signature true
03:23:47.263 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - SSH_MSG_NEWKEYS sent
03:23:47.263 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - SSH_MSG_NEWKEYS received
03:23:47.271 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - SSH_MSG_SERVICE_REQUEST sent
03:23:47.272 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - SSH_MSG_SERVICE_ACCEPT received
03:23:47.291 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - Authentications that can continue: password
03:23:47.291 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - Next authentication method: password
03:23:47.344 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - Authentication succeeded (password).
03:23:47.366 [main] DEBUG com.sos.vfs.sftp.jcraft.SOSSFTPJCraft - createSftpClient connect timeout = 0
2022-06-21 12:23:47.960+09:00 [STDOUT] 03:23:47.683 [main] INFO com.sos.vfs.sftp.jcraft.SOSSFTPJCraft - SOSVfs_D_133: user 'scheduler' logged in.
03:23:47.683 [main] DEBUG com.sos.vfs.common.SOSCommonProvider - OK
03:23:47.694 [main] DEBUG com.sos.vfs.sftp.jcraft.SOSSFTPJCraft - [/tmp/]isDirectory=true
03:23:47.695 [main] DEBUG com.sos.DataExchange.SOSDataExchangeEngine - [target][/tmp/]isDirectory=true
03:23:47.695 [main] DEBUG com.sos.vfs.common.SOSVFSFactory - [source]local
03:23:47.697 [main] DEBUG com.sos.DataExchange.SOSDataExchangeEngine - single file(s) specified : '/tmp/test.txt'
03:23:47.698 [main] DEBUG com.sos.DataExchange.SOSDataExchangeEngine - [/tmp/test.txt]found
03:23:47.704 [main] INFO com.sos.DataExchange.SOSDataExchangeEngine - 1 files found.
03:23:47.706 [main] DEBUG com.sos.DataExchange.SOSDataExchangeEngine - files to transfer 1
03:23:47.708 [main] DEBUG com.sos.vfs.common.SOSFileListEntry - [1]-------------------------------------
03:23:47.711 [main] DEBUG com.sos.vfs.sftp.jcraft.SOSSFTPJCraft - [/tmp/test.txt]size=0
03:23:47.711 [main] DEBUG com.sos.vfs.common.SOSCommonProviderFile - [/tmp/test.txt]true
03:23:47.711 [main] DEBUG com.sos.vfs.common.SOSFileListEntry - [1][target][/tmp/test.txt]targetFileExistsBeforeTransfer=true
03:23:47.719 [main] INFO com.sos.vfs.common.SOSFileListEntry - [1][transferred]Source=/tmp/test.txt, Target=/tmp/test.txt, Bytes=0 (2022-06-21 03:23:47-2022-06-21 03:23:47)0.004391s
03:23:47.720 [main] DEBUG com.sos.vfs.sftp.jcraft.SOSSFTPJCraft - [sftp]disconnected
03:23:47.720 [main] DEBUG com.sos.vfs.sftp.jcraft.common.SOSSFTPLogger - Disconnecting from 192.168.110.249 port 22
03:23:47.733 [main] DEBUG com.sos.vfs.sftp.jcraft.SOSSFTPJCraft - [session]disconnected
03:23:47.734 [main] INFO com.sos.vfs.sftp.jcraft.SOSSFTPJCraft - disconnect OK
03:23:47.734 [main] DEBUG com.sos.DataExchange.SOSDataExchangeEngine - [/tmp/sos.yade_settings_18076702533579469954.ini]settings file deleted
03:23:47.746 [main] DEBUG com.sos.DataExchange.history.YadeTransferResultHelper - [return-values]process /var/sos-berlin.com/js7/agent/var_4445/work/tmp/returnValues-3094423932504644641.tmp
03:23:47.901 [main] INFO com.sos.DataExchange.SOSDataExchangeEngine - SOSJADE_I_0100: one file transferred (2022-06-21 03:23:45-2022-06-21 03:23:47)2.239439s
03:23:47.901 [main] INFO JadeReportLog - SOSJADE_I_0100: one file transferred (2022-06-21 03:23:45-2022-06-21 03:23:47)2.239439s
03:23:47.907 [main] INFO JadeReportLog -
*************************************************************************
execution status = success. Without Errors.
successful transfers = 1
skipped transfers = 0
failed transfers = 0
last error =
*************************************************************************
03:23:47.907 [main] INFO com.sos.DataExchange.SOSDataExchangeEngine -
*************************************************************************
execution status = success. Without Errors.
successful transfers = 1
skipped transfers = 0
failed transfers = 0
last error =
*************************************************************************
03:23:47.907 [main] DEBUG com.sos.DataExchange.SOSDataExchangeEngine - [mailOnError=false][mailOnSuccess=false][mailOnEmptyFiles=false]
03:23:47.907 [main] DEBUG com.sos.DataExchange.SOSDataExchangeEngine - [failedTransfers=0][successfulTransfers=1][successZeroByteFiles=1][skippedZeroByteFiles=0]
03:23:47.908 [main] INFO com.sos.DataExchange.SOSDataExchangeEngineMain - execute - ended without errors
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ END : YADE.SH +
+ -------------- +
+ DATE : Tue Jun 21 03:23:47 UTC 2022 +
+ HOSTNAME : js7-agent-standalone +
+ USER : +
+ CALL : /var/sos-berlin.com/js7/agent/yade/bin/yade.sh -settings /var/sos-berlin.com/js7/agent/var_4445/work/values/0/13.xml -profile sftp_demo_from224_to249 -file_path /tmp/test.txt -return-values "/var/sos-berlin.com/js7/agent/var_4445/work/tmp/returnValues-3094423932504644641.tmp" +
+ EXIT : 0 +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
2022-06-21 12:23:47.966+09:00 [MAIN] [End] [Success] returnCode=0
2022-06-21 12:23:48.071+09:00 [SUCCESS] [OrderProcessed] id=#2022-06-21#T78182256471-root, pos=0, Job=yade-transfer-file, Agent(time=2022-06-21 12:23:47.966+09:00), returnCode=0
2022-06-21 12:23:48.230+09:00 [MAIN] [OrderFinished] id=#2022-06-21#T78182256471-root, pos=1