如何连接到 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?