mac电脑设置crontab定时任务,以及遇到的问题解决办法

crontab常用命令
crontab -u user:用来设定某个用户的crontab服务;
crontab file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
crontab -e:编辑某个用户的crontab文件内容。不指定用户,则编辑当前用户的crontab文件。
crontab -l:显示某个用户的crontab文件内容,不指定用户,则显示当前用户的crontab文件内容。
crontab -r:从/var/spool/cron目录中删除某个用户的crontab文件,不指定用户,则默认删除当前用户的crontab文件。
crontab -i:在删除用户的crontab文件时给确认提示。

设置一个定时任务,任务如下,该任务在linux服务器上是可以执行的。

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

但是这个任务在mac上是不能执行的。

需要按照一下步骤执行,肯定能搞定,如果还搞不定,私信我。

1、确保crontab在mac上是运行的

# 定时任务统统由 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

2、验证crontab是否可以执行

crontab -e:编写定时任务脚本

验证 crontab 是否可真正执行
# 每分钟输出当前时间到time.txt上.
*/1 * * * * /bin/date >> /User/time.txt 

如果文件有内容,说明能执行。跳转到第4步。

如果文件没有内容,说明crontab不能执行,问题点出在了mac的系统上,看第3步。

3、mac开启crontab的权限

切记,需要勾选。

系统是 OSX 10.15 Catalina 以上的对 cron 的权限进行了限制需要在 系统偏好设置 里将 cron 添加 完全磁盘访问权限重点在这里:::系统偏好设置 -> 安全性与隐私 -> 选择 隐私 -> 左侧菜单找到完全磁盘访问权限cron 程序所在目录:终端输入 whereis cron打印:/usr/sbin/cron再输入 open /usr/sbin在打开的文件夹内找到 cron把这个文件直接拖动到 系统偏好设置 右侧应用列表框内。勾选上。可以参考这个动图:https://www.d3tt.com/view/109

4、使用绝对路径

使用python脚本,可能任务还是不执行,主要的原因是:crontab中找不到python的路径。

这个时候需要使用python的绝对路径以及脚本的绝对路径。

如何找python的绝对路径。
which python3

定时任务不执行

原因有这么几个:
1、cron进程是否启动
ps -ef|grep cron

2、cron配置是否正确书写
这个一般没有问题,看看苹果开发社区

3、shell执行的环境是否设置
一般需要要shell脚本前面加上如下两行

#!/bin/bash
source /etc/profile

4、shell脚本是否有问题
这个把脚本在终端手动执行一遍,看一下能否到达效果

5、目录权限问题
这个问题也是一直困扰我好久的问题,以上四点都没有问题的情况的下,建议尝试一下换个目录,我把shell放到了用户的Documents目录下了,如下:

*/2 * * * * /bin/bash -c /Users/qiaohaoting/Documents/access.sh >> /Users/qiaohaoting/Documents/access.log就是无法正常运行,但是access.log文件会生产,不过没有输出内容,说明shell脚本执行失败,但是chomd 777也授权了,连Documents也授权了,corn进程是root用户进程,按道理不应该存在权限问题,难道是MAC corn设置的问题,不让访问?这里还望做MAC开发的大佬指点迷津。然后我把文件放到/Users/qiaohaoting/下,然后就可以正常运行了。

crontab表达式

crontab中的每一行代表一个定期执行的任务,分为6个部分。前5个部分表示何时执行命令,最后一个部分表示执行的命令。
每个部分以空格分隔,除了最后一个部分(命令)可以在内部使用空格之外,其他部分都不能使用空格。
前5个部分分别代表:分钟,小时,天,月,星期,每个部分的取值范围如下:

分钟 0 - 59
小时 0 - 23
天   1 - 31
月   1 - 12
星期 0 - 6   0表示星期天

除了这些固定值外,还可以配合星号(*),逗号(,),和斜线(/)来表示一些其他的含义:
星号 表示任意值,比如在小时部分填写 * 代表任意小时(每小时)
逗号 可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
斜线 一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 */2 代表每隔两分钟。
所以 */1 和 * 没有区别,*/2 可以看成是能被2整除的任意值。

例如:每天15:00执行AutoApplescript.applescript脚本,16:10执行AutoLog.sh

sudo crontab -e
0 15 * * * osascript /Users/XXX/Desktop/AutoDeployment/AutoApplescript.applescript
10 16 * * * /bin/sh /Users/XXX/Desktop/AutoDeployment/AutoLog.sh > /Users/XXX/Desktop/auto.log 2>&1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/462946.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于vue+neo4j 的中药方剂知识图谱可视化系统

前言 历时一周时间,中药大数据R02系统中药开发完毕,该系统通过scrapy工程获取中药数据,使用python pandas预处理数据生成知识图谱和其他相关数据,利用vuespringbootneo4jmysql 开发系统,具体功能请看本文介绍。 简要…

Qt的程序如何打包详细教学

生成Release版的程序 在打包Qt程序时,我们需要将发布程序需要切换为Release版本(Debug为调试版本),编译器会对生成的Release版可执行程序进行优化,使生成的可执行程序会更小。 debug版本 debug版本是一种开发过程中的…

AUTOSAR从入门到精通-BswM模块(二)

目录 前言 算法原理 BswM接口端口 BswM功能描述 模式仲裁 仲裁规则(Arbitration Rules) 模式仲裁来源 模式仲裁过程 模式条件(ModeCondition) 逻辑表达式(LogicExpressions) 模式控制 模式处理 操作执行 模式控制过程 模式控制基本流程 BswM Interfaces and …

【C++题解】1970. 判断是什么字符

欢迎关注本专栏《C从零基础到信奥赛入门级(CSP-J)》 问题:1970. 判断是什么字符 类型:字符串、字符型 题目描述: 从键盘读入一个字符,有可能是大写字母、小写字母、数字中的一种,请编程判断&…

2. Flink快速上手

文章目录 1. 环境准备1.1 系统环境1.2 安装配置Java 8和Scala 2.121.3 使用集成开发环境IntelliJ IDEA1.4 安装插件2. 创建项目2.1 创建工程2.1.1 创建Maven项目2.1.2 设置项目基本信息2.1.3 生成项目基本框架2.2 添加项目依赖2.2.1 添加Flink相关依赖2.2.2 添加slf4j-nop依赖2…

年底和2025年黄金预测:至少3000

黄金价格瞄准$3,000.00关口 过去两年,现货黄金价格一直处于强劲的牛市,从2022年9月的低点上涨了将近70%,达到本周创下的每金衡盎司$2,790.00的历史高点,几乎触及心理关口$2,800.00。 即使出现明显的回撤,只要2024年的…

Halcon区域分割之分水岭分割法

现实中我们见到过有山有湖的景象,那么一定是水绕山、山围水的情形。当然可在需要的时候人工构筑分水岭,以防集水盆之间的互相穿透。而区分高山与水的界线以及湖与湖之间的间隔,就是分水岭。 分水岭分割法是一种基于拓扑理论的数学形态…

LLM | 论文精读 | CVPR | SelTDA:将大型视觉语言模型应用于数据匮乏的视觉问答任务

论文标题:How to Specialize Large Vision-Language Models to Data-Scarce VQA Tasks? Self-Train on Unlabeled Images! 作者:Zaid Khan, Vijay Kumar BG, Samuel Schulter, Xiang Yu, Yun Fu, Manmohan Chandraker 期刊:CVPR 2023 DOI…

基于JavaWeb+MySQL实现口算题卡

爱 math 口算题卡 1. 总体要求 综合运用软件工程的思想,协同完成一个软件项目的开发,掌软件工程相关的技术和方法;组成小组进行选题,通过调研完成项目的需求分析,并详细说明小组成员的分工、项目的时间管理等方面。根…

Linux云计算 |【第五阶段】CLOUD-DAY8

主要内容: 掌握DaemonSet控制器、污点策略(NoSchedule、Noexecute)、Job / CronJob资源对象、掌握Service服务、服务名解析CluterIP(服务名自动发现)、(Nodeport、Headless)、Ingress控制器 一…

机器学习1_机器学习定义——MOOC

一、机器学习定义 定义一 1959年Arthur Samuel提出机器学习的定义: Machine Learning is Fields of study that gives computers the ability to learn without being explicitly programmed. 译文:机器学习是这样的领域,它赋予计算机学习的…

无人机维护保养、部件修理更换技术详解

无人机作为一种精密的航空设备,其维护保养和部件修理更换是确保飞行安全、延长使用寿命的重要环节。以下是对无人机维护保养、部件修理更换技术的详细解析: 一、无人机维护保养技术 1. 基础构造理解: 熟悉无人机的基本构造,包括…

HCIP--以太网交换安全(总实验)

实验背景 假如你是公司的网络管理员,为了提高公司网络安全性,你决定在接入交换机部署一些安全技术:端口隔、端口安全、DHCP snooping、IPSG。 实验拓扑图 实验的要求: 1.在R1、R2连接在GE0/0/1和GE0/0/2接口下,均划…

Qt中的Model与View 3:从样例出发理解QStringListModel和QListView

目录 Ui文件设计如下: 初始化窗口 这里,就是一经典的例子 你可以看到,我们的环境变量是一个经典的List列表,其中承载的就是我们的字符串。我们现在来仿照着搞一个: Ui文件设计如下: 我们下面来逐一演示用…

【VSCode】配置

安装插件 C vscode-icons gdb调试 https://www.bilibili.com/video/BV15U4y1x7b2/?spm_id_from333.999.0.0&vd_sourcedf0ce73d9b9b61e6d4771898f1441f7f https://www.bilibili.com/video/BV1pU4y1W74Z?spm_id_from333.788.recommend_more_video.-1&vd_sourcedf0…

【开发心得】筑梦上海:项目风云录(10)

目录 经典代码背后的故事 贵人相助与价值创造的跳槽哲学 从甲方现场到职场晋升 经典代码背后的故事 写完上一篇故事,本来想休息一段时间,再把思路整理一下。 但是感觉前面的故事里,涉及的故事多,涉及的技术和代码少,很多小伙伴私信希望能够多一些技术和代码的分享。 好…

编译原理第一次实验报告

源代码及附件:编译原理实验一源程序及附件资源-CSDN文库实验题目 实验要求 实验设计 前两部分指出了实验的宏观把控,为了具体实施实验,我们需要预先为实验做出如下设计: 本次实验我选取了C语言的一个子集进行设计词法分析器&…

Elastix-基于ITK的医学图像配准库

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 Elastix是什么? Elastix是一个广泛使用的医学图像配准库,旨在帮助研究人员和临床医生处理和分析医学影像…

清华双臂机器人扩散大模型RDT:先预训练后微调,支持语言、图像、动作多种输入

前言 通过上文介绍的GR2,我们看到了视频生成模型在机器人训练中的应用,无独有偶,和GR2差不多一个时期出来的清华RDT,其模型架构便基于视频生成架构DiT改造而成(当然,该清华团队其实也在DiT之前推出了U-ViT&#xff0c…

远程连接服务

目录 一、远程连接服务器简介 二、连接加密技术简介 三、认证阶段 四、ssh实验 1.修改ssh服务器的端口号 2.拒绝root账户远程登录 3.允许特定用户ssh登录,其他用户无法登录 4.ssh-keygen 一、远程连接服务器简介 概念: 远程连接服务器通过文字或…