在后台运行任务?

时间:2017-11-03 05:48:22

标签: google-compute-engine

如果我们通过ssh从主机向计算引擎提交任务,并且如果我们关闭主机,我们可以在以后打开主机时获取提交任务的输出机?

1 个答案:

答案 0 :(得分:0)

从Linux的角度来看,'ssh'和'gcloud compute ssh'是与所有其他命令一样的命令,因此可以在使用例如>>执行命令时将其输出重定向到文件重定向并将stdout附加到文件或2>>以存储stderr。

例如,如果您从第一个实例'name1'运行:

$ gcloud compute ssh name2 --command='watch hostname' --zone=XXXX >> output.out

其中'name2'是第二个实例,并且在某些时候关闭'name1',你会发现存储到output.out命令提供的输出直到关闭发生。

请注意,还可以创建关闭脚本,在这种情况下,将output.out上传到存储桶或执行任何类型的清理操作都很有用。 为此,您可以运行以下命令

$ gcloud compute instances add-metadata example-instance --metadata-from-file shutdown-script=path/to/script_file

脚本的内容可能类似于

#! /bin/bash
gsutil cp path/output.out gs://yourbucketname

请记住,Compute Engine只会尽最大努力执行关闭脚本,并不保证在所有情况下都会运行关闭脚本。

More Documentation如果需要,请关闭关机。