如何连接到 2 个 linux 服务器以使用 talend 复制文件

Posted

技术标签:

【中文标题】如何连接到 2 个 linux 服务器以使用 talend 复制文件【英文标题】:How to connect to 2 linux servers to copy a file using talend 【发布时间】:2021-10-15 07:52:29 【问题描述】:

我正在使用 talend studio 7.3 并尝试连接到旧的 unix 服务器并从以下位置获取文件: cd /home/location/scripts/copying.csv 并希望使用此文件复制到同一位置的新 unix 服务器的目标目录中?

它需要覆盖目标位置的现有脚本

我尝试使用 tssh ,tsystem,tfilefetch 但没有产生所需的 rsults 并且我收到以下错误: "执行器已关闭"

最好的方法是什么?

【问题讨论】:

您能否edit 提出您的问题,并附上您尝试过的代码。另外,请澄清“位置如:cd /home/location/scripts/copying.csv”——我假设您的意思是文件copying.csv' in a directory named /home/location/scripts/`,但您还列出了cd 命令? 是的,我试图将文件路径描述为 home/location/scripts,我会在登录后从我的主文件夹中获取 cd 【参考方案1】:

在这种情况下通常会使用 SCP

$ scp username@oldmachine:/home/location/scripts/copying.csv /home/location/scripts/copying.csv 

如果有同名文件,它也会覆盖同名文件。

从未使用过 talend 但根据the documentation 支持

【讨论】:

谢谢,我做了一个小小的调整并合并了 tscp 组件,但是由于目标服务器有 sudo 权限进入,当我尝试复制它时它显示为“权限被拒绝”。如何克服权限问题? 试试ssh username@oldmachine "sudo cat /home/location/scripts/copying.csv" > /home/location/scripts/copying.csv,只要你有读取权限,你也许可以在没有'sudo'的情况下使用它。它本质上是将远程copying.csv的内容写入本地copying.csv而不是传输文件

以上是关于如何连接到 2 个 linux 服务器以使用 talend 复制文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将表连接到联合查询的结果

如何从非域注册的 Linux 机器使用 SQuirreL SQL 连接到 SQL Server?

C#如何强制等待连接到 WCF 服务

如何使用 shell 脚本连接到 linux 服务器并停止/启动服务?

如何查看连接到服务器的所有IP

无法连接到虚拟机怎么解决?怎么解决?