一、开启crontab
1.查看crontab是否启动
sudo launchctl list | grep cron
2. 检查需要的文件
ls -al /etc/crontab
3. 如果 crontab 文件不存在则创建
sudo touch /etc/crontab
上述操作完成之后就可以正常使用crontab啦
二、crontab服务开启、关闭
1.开启
sudo /usr/sbin/cron start
2.重启
sudo /usr/sbin/cron restart
3.关闭
sudo /usr/sbin/cron stop
三、命令
crontab [-u user] file
crontab -e
crontab -l
crontab -r
crontab -i
1. crontab -u user
2. crontab -e
先按esc, 输入 :wq ,即保存并退出
3. crontab -l
4.crontab -r
5.crontab -i
四、crontab 文件格式
1. 格式
2. 特殊字符
3. 示例:
*/1 * * * *
3,15 * * * *
3,15 8-11 */2 * *
3,15 8-11 * * 1
0 11 4 * mon-wed /etc/init.d/smb restart
01 * * * * root run-parts /etc/cron.hourly
说明: run-parts这个参数,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是目录名了
五、crontab 创建任务
crontab -e
vim
编辑模式,输入指定的定时任务,按esc,输入 :wq 保存并退出# 每间隔 3分钟,执行一次python脚本jupyter_convert.py
*/3 * * * * python /Users/******/jupyter_convert.py
六、常见问题
1. 使用crontab执行脚本时,要确保 crontab 和脚本是否开启执行权限;
2. 执行报错,可通过输入 mail 查看具体问题
3. 执行报错问题为python编码问题 : SyntaxError: Non-ASCII character ‘\xe6’ in file *******,可尝试如下方法:在python文件首行加入
#coding=UTF-8
4. 路径问题
单独执行定时任务时候没有问题,单独执行python脚本没有问题,此定时任务不执行原因是因为python路径要写绝对路径
首先在linux上执行命令:where is python3.8 或者 which python3.8,得到python的绝对路径
which python3.8
/usr/local/bin/python3.8
设定执行任务
30 8 * * * /usr/local/bin/python3.8 /user/loacl/bin/***/***.py
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/200634.html原文链接:https://javaforall.cn