如何在 Linux Bash 中通过 SFTP 将数据传输到远程文件而不将数据存储在本地文件中?

Jam*_*min 5 linux ssh bash sftp centos

我需要能够通过 SFTP 将数据从内存传输到远程文件。我最初是通过 SSH 进行此操作的,在工作时发现我没有对远程位置的 SSH 访问权限,只有 SFTP 访问权限。

以下是我的原始 SSH 代码的示例:

echo "secret_data" | ssh root@localhost cat > secret_file;
Run Code Online (Sandbox Code Playgroud)

这正是我所需要的,但是以某种形式:

sftp root@localhost put $secret_data secret_file;
Run Code Online (Sandbox Code Playgroud)

原则上,我需要数据永远不会存储在本地计算机上的文件中,并且完全从内存中处理。

任何答复表示赞赏。谢谢。

Jak*_*uje 0

创建tmpfs分区/etc/fstab(不存储在驱动器上,仅存储在内存中),将文件存储在那里,然后如果您确实想避免将文件存储到硬盘驱动器中,则使用您所描述的方法。

我已经设置了这种方式/tmp/var/log以避免写入整个 SSD 驱动器:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
none    /tmp/       tmpfs   size=15%    0   0
Run Code Online (Sandbox Code Playgroud)