Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 节点ssh exec通过管道将一些数据传输到远程进程_Node.js_Ssh - Fatal编程技术网

Node.js 节点ssh exec通过管道将一些数据传输到远程进程

Node.js 节点ssh exec通过管道将一些数据传输到远程进程,node.js,ssh,Node.js,Ssh,很抱歉,可能发生了错误,但在输出文件中找不到任何内容,请参见以下内容: var exec = require('ssh-exec'); var fs = require('fs'); file = fs.createWriteStream('rep-output.txt'); process.stdin .pipe(exec(command, host)) .pipe(file); file.end(); 这是: [node]$ cat rep-output.txt

很抱歉,可能发生了错误,但在输出文件中找不到任何内容,请参见以下内容:

var exec = require('ssh-exec');
var fs = require('fs');
file = fs.createWriteStream('rep-output.txt');
    process.stdin
     .pipe(exec(command, host))
     .pipe(file);
file.end();
这是:

[node]$ cat rep-output.txt 
[node]$ 
但由于“命令”是“touch output.txt”,我可以看到它在远程“主机”上正确执行:

[remote]$ ls -l output.txt 
[remote]$-rw-rw-r-- 1 irekr irekr 0 Jul  4 10:53 output.txt

如果'command'是,即'ls-l'仍然'rep output.txt'是空的

我认为这是因为您在开始写入之前关闭了流。删除
file.end()

当您
pipe
streams时,它将负责在输入流结束时结束写入流。见:

默认情况下,当源流 发出结束,因此目标不再可写。通过{结束: false}作为保持目标流打开的选项


我想这是因为你在开始写作之前就关闭了这个流。删除
file.end()

当您
pipe
streams时,它将负责在输入流结束时结束写入流。见:

默认情况下,当源流 发出结束,因此目标不再可写。通过{结束: false}作为保持目标流打开的选项


我想这是因为你在开始写作之前就关闭了这个流。删除
file.end()

当您
pipe
streams时,它将负责在输入流结束时结束写入流。见:

默认情况下,当源流 发出结束,因此目标不再可写。通过{结束: false}作为保持目标流打开的选项


我想这是因为你在开始写作之前就关闭了这个流。删除
file.end()

当您
pipe
streams时,它将负责在输入流结束时结束写入流。见:

默认情况下,当源流 发出结束,因此目标不再可写。通过{结束: false}作为保持目标流打开的选项


嗯,成功了。那么我应该什么时候关闭文件呢?Thnx还有一个问题,很抱歉,当我在Linux cron中计划此代码时,它就不工作了。我尝试了绝对路径等没有帮助。如果我对所有这些代码进行注释,即要求通过电子邮件发送一些内容给我,即/*process.stdin.pipe(exec(command,host)).pipe(file);*/email.send(config.emailTo、emailText、emailSubject、emailAttach);您可能正在将文件保存在cron工作目录中。在cron命令中使用
cd
更改目录,然后运行脚本。确保“rep output.txt”位于运行节点的同一目录中。[root@nodedev test]#crontab-l*/1****/usr/bin/node/home/irek/repvpn/dev test/dev-repcert.js>>/home/irek/repvpn/dev test/dev-repcert.log>/dev/null 2>&1[root@nms01m开发测试]#pwd/home/irek/repvpn/dev测试[root@node开发测试]#ls-l rep-output.txt-rw-rw-r--。1 irek irek 0 Jul 4 11:45 rep-output.txtThnx,它起作用了。那么我应该什么时候关闭文件呢?Thnx还有一个问题,很抱歉,当我在Linux cron中计划此代码时,它就不工作了。我尝试了绝对路径等没有帮助。如果我对所有这些代码进行注释,即要求通过电子邮件发送一些内容给我,即/*process.stdin.pipe(exec(command,host)).pipe(file);*/email.send(config.emailTo、emailText、emailSubject、emailAttach);您可能正在将文件保存在cron工作目录中。在cron命令中使用
cd
更改目录,然后运行脚本。确保“rep output.txt”位于运行节点的同一目录中。[root@nodedev test]#crontab-l*/1****/usr/bin/node/home/irek/repvpn/dev test/dev-repcert.js>>/home/irek/repvpn/dev test/dev-repcert.log>/dev/null 2>&1[root@nms01m开发测试]#pwd/home/irek/repvpn/dev测试[root@node开发测试]#ls-l rep-output.txt-rw-rw-r--。1 irek irek 0 Jul 4 11:45 rep-output.txtThnx,它起作用了。那么我应该什么时候关闭文件呢?Thnx还有一个问题,很抱歉,当我在Linux cron中计划此代码时,它就不工作了。我尝试了绝对路径等没有帮助。如果我对所有这些代码进行注释,即要求通过电子邮件发送一些内容给我,即/*process.stdin.pipe(exec(command,host)).pipe(file);*/email.send(config.emailTo、emailText、emailSubject、emailAttach);您可能正在将文件保存在cron工作目录中。在cron命令中使用
cd
更改目录,然后运行脚本。确保“rep output.txt”位于运行节点的同一目录中。[root@nodedev test]#crontab-l*/1****/usr/bin/node/home/irek/repvpn/dev test/dev-repcert.js>>/home/irek/repvpn/dev test/dev-repcert.log>/dev/null 2>&1[root@nms01m开发测试]#pwd/home/irek/repvpn/dev测试[root@node开发测试]#ls-l rep-output.txt-rw-rw-r--。1 irek irek 0 Jul 4 11:45 rep-output.txtThnx,它起作用了。那么我应该什么时候关闭文件呢?Thnx还有一个问题,很抱歉,当我在Linux cron中计划此代码时,它就不工作了。我尝试了绝对路径等没有帮助。如果我对所有这些代码进行注释,即要求通过电子邮件发送一些内容给我,即/*process.stdin.pipe(exec(command,host)).pipe(file);*/email.send(config.emailTo、emailText、emailSubject、emailAttach);您可能正在将文件保存在cron工作目录中。在cron命令中使用
cd
更改目录,然后运行脚本。确保“rep output.txt”位于运行节点的同一目录中。[root@nodedev test]#crontab-l*/1****/usr/bin/node/home/irek/repvpn/dev test/dev-repcert.js>>/home/irek/repvpn/dev test/dev-repcert.log>/dev/null 2>&1[root@nms01m开发测试]#pwd/home/irek/repvpn/dev测试[root@node开发测试]#ls-l rep-output.txt-rw-rw-r--。1 irek irek 0 Jul 4 11:45 rep-output.txt
file = fs.createWriteStream('rep-output.txt');
process.stdin
 .pipe(exec(command, host))
 .pipe(file);