在后台运行特定的ssh命令,在VPS服务器上全天候运行

时间:2014-05-11 11:22:08

标签: linux ssh fedora netcat

我有一个带有Bluehost(fedora OS)的VPS服务器,我想通过TCP从远程应用程序捕获数据,并将其写入文件以进行进一步处理。所以我正在使用netcat

 nc -l -k -v IP_ADDRESS_HERE 5331 > /home/user/public_html/tcp/data.xml

通过在ssh中使用上述命令,Netcat侦听特定端口并将捕获的数据写入名为data.xml的文件。

问题:我希望这个命令在关闭ssh终端之后连续运行,甚至在服务器重启后也是如此。我曾经screennohup。这些选项不会成为解决方案,因为如果服务器重新启动它将无法运行。

我该怎么做?使用一些脚本?,我对这个领域有点新意,请帮帮我。

提前致谢:)

更新:即使在ssh终端中,上面的命令也可以完美运行,但在一段时间后自动以^C结束。请帮帮我。

1 个答案:

答案 0 :(得分:0)

如果在系统重启后需要恢复作业,则它是系统服务。所以你有几个选择:

  • 编写init脚本并将其添加到默认运行级别。
  • 如果您的发行版使用systemd编写配置文件以将命令作为服务启动。
  • 您可以使用其他服务管理器(如supervisord)自动运行命令。
  • 自定义快速和肮脏的解决方案。当我需要在screen中自动运行某些内容时,我经常使用这样的cron条目:

    @reboot screen -S my_service -d -m bash -c'my_command'>的/ dev / null的

重新启动时,它将在屏幕中启动您的命令并分离。

相关问题