crontab - 解决 mac 下通过 crontab 设置了 Python 脚本的定时任务却无法运行

简介: crontab - 解决 mac 下通过 crontab 设置了 Python 脚本的定时任务却无法运行

背景


通过 crontab 定时运行 python 脚本来发送钉钉消息

https://www.cnblogs.com/poloyy/p/15565875.html

 

一开始的定时任务

*/1 * * * * python3 /Users/test.py

 

确定 Python 脚本是否可正常执行


命令行下敲

python3 /Users/test.py

发现是可以正常运行的

 

那为什么 crontab 不运行呢?来一步步解决!


OS X 的定时任务统统由 launchctl 来管理的,看看 cron 任务有没有在里面


# 定时任务统统由 launchctl 来管理的,看看 cron 任务有没有在里面
sudo launchctl list | grep cron 
# 有记录。查看一下启动项的配置
locate com.vix.cron
# 创建一个database
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
# 查看 /etc/crontab 是否存在
ls -alF /etc/crontab
# 创建该文件
sudo touch /etc/crontab


以为搞定了!结果一分钟后还是不行

 

验证 crontab 是否可真正执行

# 每分钟输出当前时间到time.txt上.

*/1 * * * * /bin/date >> /User/time.txt

一分钟后去看,发现是有文件的,证明 crontab 没问题

 

关键点:绝对路径

一开始写的定时任务中,python3 是相对路径,这是不对的,应该用绝对路径

*/1 * * * * /usr/local/opt/python@3.9/bin/python3.9 /User/test.py

这样就可以正常执行了!

相关文章
|
4天前
|
网络协议 Linux Python
Python脚本配置Centos静态ip地址
这是一个Python脚本,用于自动化配置CentOS系统的静态IP地址。脚本创建或修改文件,填写接口名(如ens33)、IP地址、子网掩码、网关和DNS。运行时需替换变量值并使用`sudo`以管理员权限执行。完成配置后,它会重启网络服务。注意,用户应根据实际网络环境调整参数。
Python脚本配置Centos静态ip地址
|
2天前
|
SQL API Python
`bandit`是一个Python静态代码分析工具,专注于查找常见的安全漏洞,如SQL注入、跨站脚本(XSS)等。
`bandit`是一个Python静态代码分析工具,专注于查找常见的安全漏洞,如SQL注入、跨站脚本(XSS)等。
19 8
|
2天前
|
网络协议 安全 Shell
`nmap`是一个开源的网络扫描工具,用于发现网络上的设备和服务。Python的`python-nmap`库允许我们在Python脚本中直接使用`nmap`的功能。
`nmap`是一个开源的网络扫描工具,用于发现网络上的设备和服务。Python的`python-nmap`库允许我们在Python脚本中直接使用`nmap`的功能。
23 7
|
5天前
|
数据采集 存储 监控
python 10个自动化脚本
【7月更文挑战第10天】
16 3
|
2天前
|
算法 Python
我们需要一个简单的Python脚本来作为示例。假设我们有一个名为`hello_world.py`的脚本,
我们需要一个简单的Python脚本来作为示例。假设我们有一个名为`hello_world.py`的脚本,
7 0
|
6天前
|
安全 Python
告别低效编程!Python线程与进程并发技术详解,让你的代码飞起来!
【7月更文挑战第9天】Python并发编程提升效率:**理解并发与并行,线程借助`threading`模块处理IO密集型任务,受限于GIL;进程用`multiprocessing`实现并行,绕过GIL限制。示例展示线程和进程创建及同步。选择合适模型,注意线程安全,利用多核,优化性能,实现高效并发编程。
20 3
|
8天前
|
开发者 Python
Python元类实战:打造你的专属编程魔法,让代码随心所欲变化
【7月更文挑战第7天】Python的元类是编程的变形师,用于创建类的“类”,赋予代码在构建时的变形能力。
30 1
|
9天前
|
设计模式 存储 Python
Python元类大揭秘:从理解到应用,一步步构建你的编程帝国
【7月更文挑战第6天】Python元类是创建类的对象的基石,允许控制类的生成过程。通过自定义元类,可在类定义时动态添加方法或改变行为。
16 0
|
6天前
|
数据采集 大数据 数据安全/隐私保护
Python编程:如何有效等待套接字的读取与关闭
Python网络编程中,套接字事件处理至关重要。利用`selectors`模块和代理IP能增强程序的稳定性和可靠性。代码示例展示了如何通过代理连接目标服务器,注册套接字的读写事件并高效处理。在代理IP配置、连接创建、事件循环及回调函数中,实现了数据收发与连接管理,有效应对网络爬虫或聊天应用的需求,同时保护了真实IP。
Python编程:如何有效等待套接字的读取与关闭
|
1天前
|
数据挖掘 开发者 Python
如何自学Python编程?
【7月更文挑战第14天】如何自学Python编程?
16 4