crontab用法:
Linux和Mac的用法基本一致
常用命令:
- crontab -l 查看当前定时任务
- crontab -e 编辑定时任务
- crontab -r 删除定时任务
创建定时任务:
开始可以简单尝试crontab 任务是否可以执行,创建一个简单任务,创建后使用crontab -l查看任务是否成功,然后查看date.txt里面有输出没
sudo vi crontab -e
#每隔一分钟输出date到桌面date.txt中
*/1 * * * * date >> /Users/Aaron/Desktop/date.txt 2>&1
~
~
使用crontab需要注意的地方:
- 在使用crontab命令时前面需要加sudo避免权限问题
- crontab创建任务里面的路径都需要绝对路径
- 创建的cron任务是否在当前用户下
定时运行python或shell脚本无法成功执行问题:
- 在编辑定时任务加个错误重定向到文件中,看是否有输出错误日志
- ls -l <文件名>查看脚本文件是否有执行权限,使用chmod赋予权限
- 脚本绝对路径是否正确,可以在终端直接运行是否能成功
平时我们运行python文件直接是:
python test.py
这里的python命令和test.py都需要绝对路径
/usr/local/bin/python3.7 /Users/Aaron/Desktop/test.py
其他可能问题:
cron任务可能没有磁盘访问权限,添加cron的磁盘访问权限
打开Mac系统偏好设置-安全性与隐私,找到完全磁盘访问权限,解锁后点击右边的+号找到/usr/bin/cron添加
电脑是否有代理,有代理需要在编辑定时任务时加入代理信息
#proxy
http_proxy=http://****
https_proxy=http://****
#每隔一分钟输出date到桌面date.txt中
*/1 * * * * date >> /Users/Aaron/Desktop/date.txt 2>&1
~
~