Ser*_*kin 15 google-compute-engine google-cloud-platform
我有一个 bash 脚本。我想在谷歌云服务器上连续运行它。我通过浏览器中的 SSH 连接到我的 VM,但是在我关闭浏览器后,脚本停止了。我尝试使用 Cloud Shell,但如果我重新启动笔记本电脑,脚本会从头启动。它不能连续工作!是否可以在谷歌云中启动我的脚本,关闭笔记本电脑并确保我的脚本有效?
小智 22
解决方案:GNU 屏幕。这个很棒的小工具可让您在通过 ssh 连接到远程服务器后运行一个进程,然后与它分离 - 让它像在前台运行一样运行(而不是在后台停止)。
因此,在我们通过 ssh 连接到我们的 GCE VM 之后,我们将需要: 1. 安装 GNU screen:
apt-get update
apt-get upgrade
apt-get install screen
您有以下选项:
1.任务计划- 涉及cron 作业。检查这个样本。通过这个答案;
2.使用启动脚本。
我执行了以下测试,它对我有用:
我在 GCE 中创建了一个实例,通过 SSH-d 进入其中并创建了以下脚本myscript.bash:
#!/bin/bash
sleep 15s
echo Hello World > result.txt
Run Code Online (Sandbox Code Playgroud)
然后,运行
$ bash myscript.bash
并立即关闭保存 SSH 会话的浏览器窗口。
然后我等待了至少 15 秒,重新与相关虚拟机建立 SSH 连接并运行,$ ls瞧:
myscript.bash result.txt
因此,即使关闭持有 SSH 会话的浏览器,脚本也会运行。
不过,从技术上讲,我相信您的解决方案在于 1. 或 2。
| 归档时间: |
|
| 查看次数: |
8646 次 |
| 最近记录: |