Rom*_*man 21 ssh google-compute-engine gcloud
目前,如果我想在VM上执行某些操作,我会像这样复制文件:
gcloud compute --project <project_id> copy-files --zone <zone_name> /home/roman/source/dir roman@<vm_name>:/some/path
Run Code Online (Sandbox Code Playgroud)
然后我需要像这样手动SSH到它:
gcloud compute --project <project_id> ssh --zone <zone_name> <vm_name>
Run Code Online (Sandbox Code Playgroud)
然后去运行一些命令:
cd /some/path
python example.py
Run Code Online (Sandbox Code Playgroud)
如何将第2步和第3步组合在一起并远程执行命令?
注意:我想使用gcloud或python api.我不想使用像Fabric这样的第三方软件包.
Zac*_*man 33
尝试:
$ gcloud compute ssh --zone ZONE INSTANCE -- 'cd /tmp && python some.py'
Run Code Online (Sandbox Code Playgroud)
来自gcloud compute ssh --help:
[-- IMPLEMENTATION-ARGS ...]
Flags and positionals passed to the underlying ssh implementation.
The '--' argument must be specified between gcloud specific args on the
left and IMPLEMENTATION-ARGS on the right. Example:
$ gcloud compute ssh example-instance --zone us-central1-a -- -vvv \
-L 80:%INSTANCE%:80
Run Code Online (Sandbox Code Playgroud)
小智 27
一周前登陆的gcloud更新阻止了在' - '之后传递ssh命令,并有效地强制使用--command选项.在这种情况下使用:
gcloud compute ssh --zone ZONE INSTANCE --command 'cd /tmp && python some.py'.
| 归档时间: |
|
| 查看次数: |
12009 次 |
| 最近记录: |