使用Google Cloud从特定网站获取数据

时间:2018-01-03 12:06:51

标签: google-cloud-platform google-compute-engine

我有一个机器学习项目,我必须每15分钟从一个网站获取数据。我不能使用自己的电脑,所以我将使用谷歌云。我正在尝试使用Google Compute Engine,我有一个获取数据的脚本(这里是链接:https://github.com/BurkayKirnik/Automatic-Crypto-Currency-Data-Getter/blob/master/code.py)。此脚本每15分钟获取一次数据并将其写入csv文件。我可以通过打开SSH终端并从那里执行它来运行此代码,但是当我关闭终端时它会停止工作。我试图通过在启动脚本中执行它来运行它,但它也没有这样做。如何运行此命令并保存csv文件?顺便说一句,我必须安装一个API来运行代码,我在启动脚本中这样做。这部分没有问题。

1 个答案:

答案 0 :(得分:0)

在Google Cloud Platform中运行的实例可以使用他们运行的操作系统中可用的相同工具进行配置。如果您的实例是Linux实例,最好的方法是使用cronjob以您选择的间隔重复执行脚本。

通过SSH访问实例后,可以通过运行以下命令打开crontab配置文件:

$ crontab -e 

上述命令将提供对您的个人crontab配置的访问权限(对于您以其身份登录的用户)。如果要以root身份运行脚本,可以使用此代码:

$ sudo crontab -e

您现在可以编辑crontab配置并添加一个条目,告诉cron按您所需的时间间隔执行您的脚本(在您的情况下每15分钟一次)。

因此,您的crontab条目应如下所示:

*/15 * * * * /path/to/you/script.sh

注意第一个条目是分钟,所以通过使用* / 15,您告诉cron守护程序每15分钟执行一次脚本。

编辑完crontab配置文件后,最好重新启动cron守护程序以确保您所做的更改。为此,您可以运行:

$ sudo service cron restart

如果您想检查状态以确保cron服务正在运行,您可以运行:

$ sudo service cron status

您的脚本现在每15分钟执行一次。

在存储CSV文件方面,您可以对脚本进行编程以将其存储在实例上,也可以使用Google云端存储桶。通过使用here所述的gsutil(Cloud SDK的一部分)命令,可以轻松地将文件复制到存储桶。也可以将桶作为文件系统安装,如here所述。