如何在每天的特定时间自动打开URL
我正在使用kubuntu 14.04。 我已经使用sudo apt-get install cron安装了cron,然后我在IDLE中创建了这个名为openurl.py
文件。
#!/usr/bin/env python import webbrowser webbrowser.open('http://eample.com')
然后我在终端中键入chmod +x openurl.py
以使.py文件可以执行。 如果我输入./openurl.py
到终端,脚本可以正常工作。
然后,使用启动应用程序启动器,我单击系统设置>任务调度程序>新任务>然后我搜索openurl.py文件,并选择我希望它运行。
如果我在终端中键入crontab -e
,则会显示:
#openurl 21 21 * * * /home/craig/openurl.py # File generated by KCron the Thursday 29 Jan 2015 21:20.
然后我等了,没有任何反应。 我究竟做错了什么?
这个问题已经解决了 。
更改cron
的crontab以使用脚本路径作为参数启动首选的Python
解释器:
21 21 * * * /usr/bin/python /home/craig/openurl.py
请记住,标准符号链接将指向解释器的默认版本,如果您的软件基于Python
的2.X语法,则可能不正确。
cron
守护程序可以使用提升的权限启动解释程序, 使用受限解释程序来执行自动安全关键任务 。
在cronjob设置之后编辑以涵盖更大的问题:
要实时监视 cron
和其他系统守护进程完成的作业 ,请在终端中执行:
tail -f /var/log/syslog
要么
tailf /var/log/syslog
(在某些系统上,日志文件的路径不同,例如/var/log/cron.log
)
要重定向cron作业的OUTPUT,请在cronjob文件中插入STDOUT的shell重定向,如:
21 21 * * * /usr/bin/python /home/craig/openurl.py >> /home/craig/test.log
在Python
脚本中,像print('TEST')
这样的命令会将字符串TEST附加到test.log
; 任何简单的子进程也将被重定向。
只需检查文件以了解脚本是否按预期工作。
如果您有更多问题,请随时在此处发表评论,如果我有任何帮助,请不要忘记按左上箭头并标记为collections。
祝你今天愉快。