我有一个相当轻松的脚本,我想每5个小时左右在后台定期运行。该脚本通过几个不同的网站运行,扫描它们以获取新材料,并从中获取.mp3文件或根据其内容在youtube上喜欢歌曲。我想通过这个程序实现一些我不确定如何实现的东西:
该程序主要针对OSX和其他基于Unix的系统而设计。关于实现其中一些目标的任何建议?
答案 0 :(得分:4)
如果您的脚本不需要经常执行,而且听起来不是这样,我建议您设置一个cron作业。
在典型的Linux机上,您可以通过以下方式编辑crontab file
:
$ crontab -e
这将在您的标准编辑器中打开您的crontab并在完成后为您安装crontab文件(即您保存它)
典型的crontab命令如下所示:
# m h dom mon dow command
15 0 * * * /bin/bash /home/yourself/bin/dump_my_tables.sh
此行将于每天00:15执行dump_my_tables.sh
。您的脚本需要如下所示:
0 */5 * * * /usr/bin/python /home/yourself/bin/scrape_the_web.py
注意:
cron
版本不接受*/5
语法,您必须手动指定希望安排脚本的小时数,即0,5,10,15,20
答案 1 :(得分:2)
让程序每5个小时运行一次 - 我不熟悉 系统级定时操作。
for nix cron是完成此操作的默认解决方案
让程序在后台高效运行 - 我想要这些 “更新”在用户不知情的情况下发生。
使用cron,程序将在服务器的后台运行。用户不应受到它的不利影响。如果用户加载了一个查看mp3的页面,那么你已经抓了。然后在你的脚本中运行/保存数据到数据库,用户点击刷新,新的mp3可能会出现,我不知道这是你所记得的“没有用户知道”
让程序在启动时激活 - 我知道如何设置它 作为用户,但我不知道如何添加这样的配置 python文件,如果这是可能的。请记住,这是事实 是一个简单的.py脚本 - 我没有把它编译成可执行文件。
我很确定cron条目会在重启时保持不变(我不是100%),请确保cron
守护程序在启动时启动