我正在尝试使用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
,我还缺少什么?
答案 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会话处于活动状态时,该实例仍然存在,并在一小时不活动后终止。