Mac下使用crontab来实现定时任务

说明:

1、Linux和Mac下操作crontab都是一致的

2、配置文件都在/etc/crontab下,如果没有就创建。

3、测试发现直接使用crontab -e命令创建的定时任务是放在临时文件夹的,重启会删除,并且与/etc/crontab文件无关联。

实际操作:

查看 crontab 是否启动

sudo launchctl list | grep cron

检查需要的文件

$  LaunchAgents  ll /etc/crontab
ls: /etc/crontab: No such file or directory  #表示没有这个文件,需要创建一个

创建文件

sudo touch /etc/crontab 

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

eg: /1 * * * /bin/date >> /User/Username(你的用户名)/time.txt表示每分钟输出当前时间到time.txt上.



如果出现以下问题

crontab: no crontab for hayek - using an empty one
crontab: "/usr/bin/vi" exited with status 1
方法1:EDITOR=vim crontab -e 直接编辑,以后直接crontab -e直接打开就行。
方法2:export EDITOR=vim
方法3:向cron进程提交一个crontab文件之前,首先要设置环境变量EDITOR。cron进程根据它来确定使用哪个编辑器编辑crontab文件。9 9 %的UNIX和LINUX用户都使用vi,如果你也是这样,那么你就编辑$HOME目录下的. profile文件,在其中加入这样一行:
EDITOR=vi; export EDITOR
crontab的文件格式

* 第1列分钟0~59
* 第2列小时0~23(0表示子夜)
* 第3列日1~31
* 第4列月1~12
* 第5列星期0~7(0和7表示星期天)
* 第6列要运行的命令

crontab服务的重启关闭,开启

Mac系统下

sudo /usr/sbin/cron start
sudo /usr/sbin/cron restart
sudo /usr/sbin/cron stop
Ubuntu:

sudo /etc/init.d/cron start
sudo /etc/init.d/cron stop
sudo /etc/init.d/cron restart

参考:

http://blog.csdn.net/zhenhanhong_tony/article/details/52658055

http://blog.csdn.net/zmzwll1314/article/details/52389967

http://blog.csdn.net/biyongyao/article/details/77791238(以上内容转自此篇文章

http://blog.csdn.net/meixuesong/article/details/27481883

http://blog.csdn.net/lgt633744/article/details/45932035(另类的定时任务实现

原文地址:https://www.cnblogs.com/nxzblogs/p/11745730.html

时间: 2024-10-03 04:01:04

Mac下使用crontab来实现定时任务的相关文章

linux下使用crontab命令执行定时任务

最近因工作技术问题,难以解决生产日志第二天不打印问题,日志原因解决不了,于是想起了使用定时任务明天重启服务,网上百度了一下,使用crontab命令可以完成定时任务, 大家其实不用记住太多,使用xshell或者ssh进入命令行,敲击crontab -e进入定时任务的编辑模式, 0 5 * * *  /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin/stopWeblogic.sh 0 6 * * *  /ho

在Mac下使用crontab执行定时脚本

基本设置命令 在终端里输入: sudo crontab -e 查看定时任务 crontab -l 删除定时任务 crontab -r 如果无法使用定时任务crontab 解决方法: sudo vim ~/.vimrc 添加如下内容并保存 autocmd filetype crontab setlocal nobackup nowritebackup 设置定时任务的格式 格式(每行共列行): f1 f2 f3 f4 f5 program 分 时 日 月 周 执行程序 第1列分钟1-59 第2列小时

mac下普通用户无法创建crontab的问题解决

想在mac下弄一个crontab定时任务,以为会像linux上那样顺利那,结果碰壁了,报错信息如下: ?  autoshell  crontab -ecrontab: no crontab for laijingli - using an empty onecrontab: temp file must be edited in place 就是这个 must be edited in place提示也太模糊了了吧,网上有说是编辑器环境变量的问题,加上也不行呀 ?  autoshell  EDI

Ubuntu下用crontab 部署定时任务

用php做了一个网站,其中一个统计工能,需要每周定时用行.想看看有什么方法,之前看别人的东西,一般有2中方式,一个是php自带的定时任务,一个是用系统 带的,linux下的crontab和windows下的定时任务. 之前用了php自带的定时任务工能,发现实现起来很简单,中间也没出现很多问题,同时做的时候对  ob_flush()  和 flush() 等函数不是很熟,后来又看了相关的一些文章, 对其中的东西有了深入的了解.但是后来发现php定时任务开启后,貌似不能停止,不需要重启服务器才行.不

linux 下的 crontab 定时任务工具

以下内容转自:https://www.cnblogs.com/longjshz/p/5779215.html 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为"crontab",是"cron table"的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业. servi

在Linux下利用crond实现一个定时任务并完成一个守护(精灵)进程

一.利用crond实现一个定时任务       在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为"crontab",是"cron table"的简写. crontab支持两种状态: a.直接编写计划任务: b.使用目录的方式,放在目录里面的都会定时执行,定时目录可在/etc/crontab中设定. 为当前用户创建cron服

mac 下vim 配置文件

" Configuration file for vim set modelines=0 " CVE-2007-2438 " Normally we use vim-extensions. If you want true vi-compatibility " remove change the following statements set nocompatible " Use Vim defaults instead of 100% vi compa

Mac 下VIM配置

Mac下VIM配置 首先,我们去这里下载MacVim,也可用这个网址:(http://code.google.com/p/macvim/),进入后的界面如下: _______________________________________________________________________ Download Download MacVim 7.3 (snapshot 65) for OS X 10.8 (Mountain Lion). (Released September 1, 2

Linux下使用crontab定时备份日志

上周学习了Linux,其中有使用crontab定时备份日志的内容,现把主要步骤记录如下: 首先需要备份的日志的源目录位于/opt/lampp/logs/access_log 备份到/tmp/logs下 备份文件加上时间戳date +%Y%m%d%H%M%S 以上是备份说明,下面分三步操作 一.shell脚本 [[email protected] lampp]# vi test.sh    #创建shell脚本 #!/bin/bash