使用Crontab自动化Python脚本

时间:2018-03-20 14:28:31

标签: python linux google-cloud-platform

我正在尝试使用Crontab在Google Cloud VM上自动化Python脚本。

当我运行python Daily_visits.py时,我的代码按预期运行并在BigQuery中生成一个表。

我的Crontab作业如下:*/2 * * * * /usr/bin/python Daily_visits.py但不生成输出。

我已经运行了which python而我得到了/usr/bin/python,我在我的档案上运行了chmod +x Daily_visits.sh,我还缺少什么?

2 个答案:

答案 0 :(得分:3)

您应该为Daily_visits.py文件写绝对路径。转到Daily_visits.py文件的目录并运行命令:

pwd

你可以像这样输出:

/var/www/Daily_visits.py

将其复制并粘贴到crontab中。

*/2 * * * * /usr/bin/python /var/www/Daily_visits.py

答案 1 :(得分:1)

您应该写一些类似

的内容
*/2 * * * * /usr/bin/python /path/Daily_visits.py

或者您应该将脚本放在同一个文件夹中。

更新

由于您正在使用Google Cloud Shell而不是正确的虚拟机,cron服务的状态已停止。

正如@MertSimsek告诉你的那样,启动cron服务就足够了,然后一切都按预期工作。

$ sudo service cron start
  

请注意,由于只有home of the user是持久性的,因此关闭它并再次打开后,所有更改都将丢失。

它旨在作为运行命令/小脚本而不是开发和用作普通虚拟机的工具

  

Cloud Shell实例基于每个用户,每个会话进行配置。您的Cloud Shell会话处于活动状态时,该实例仍然存在,并在一小时不活动后终止。