Linux crontab命令 定时任务 用法详解以及no crontab for root解决办法
最近系统服务器进行搬迁,又恰好需要使用定时任务运行程序,而我的程序主要使用PHP写的,然后总结了下定时任务的用法,但是在这里主要写的是关于crontab命令的用法,使用过程中遇到不少问题,例如no crontab for root等问题。
一、Linux系统安装crontab服务
1.确认crontab是否安装
# crontab -l
如果报 “command not found” ,就说明该crontab服务没有安装
如果报 “no crontab for root” ,就说明已经安装crontab服务了,请跳过步骤一,至于出现这个提示的解决办法请往下看。
2.安装crontab服务
centos系统,请执行以下命令:
//vixie-cron软件包是cron的主程序;
# yum install -y vixie-cron
//rontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序
# yum install crontabs
//启动服务
# /sbin/service crond start 或者 systemctl crond start
//加入开机自动启动
# chkconfig --level 35 crond on
ubuntu、debian系统,请执行以下命令:
//安装crontab服务
# apt-get install cron
//启动crontab服务(同时还有service cron stop 停止服务,service cron restart 重启服务)
# service cron start
3.测试是否安装成功了
继续执行上面第一条命令:crontab -l
这时会出现 “no crontab for root” 这是由于你还没有创建任何定时任务或者命令打错,即没有使用crontab -e命令去创建任何任务。但是到了这里,你的安装基本可以了。crontab命令详情请看下步
二、crontab命令详解
1.crontab命令主要有3个参数:
-e :编辑用户的crontab
-l :列出用户的crontab的内容
-r :删除用户的crontab的内容
2.功能说明:设置计时器
补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使用计时器的功能。其配置文件格式如下:
语法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]
参数:
-e 编辑该用户的计时器设置。
-l 列出该用户的计时器设置。
-r 删除该用户的计时器设置。
-u<用户名称> 指定要设定计时器的用户名称。
3.crontab -e命令详解
# crontab -e
如果第一次执行上面命令时,会让你选择编辑器,不过有些终端会默认帮你选择nano编辑器的,一般我们都会修改编辑器为vim,具体方法请看步骤三。
然后会打开一个crontab的文件,然后点击 i 进行输入模式,输入一下内容:
//每隔一分钟执行一次test.php
# * * * * * php /var/test.php
输入完后保存退出,:wq。然后重启crontab服务
// 不同服务器命令不一样,详情请看步骤一
# service cron restart
4.crontab -l
查看crontab有哪些定时任务在执行,这里没什么好弊述的。
5.crontab格式
基本格式:* * * * * command
格式说明:上面的*代表着不同的时间点,具体排序如下:分 时 日 月 周。
例如:
* * * * * php /var/www/hello/index.php >> /tmp/log/index.txt
//表示每分钟执行一次,整句话的意思是说每分钟执行使用php执行index.php文件,并将信息打印到/tmp/log/index.txt文件中,具体路径自己改
这里加个技巧关于查看某个文件,但又不想vim <文件名>的。可以使用cat <文件名>命令
1. * */2 * * * php /var/www/index.php >> /tmp/index.txt
2. * * */1 * * php /var/www/index.php >> /tmp/index.txt
// 如果要设置没隔多久执行,则写为“*/数字”,在哪个位置就代表每隔多久执行一次。上面命令分别代表:
1.每隔2小时执行一次
2.每隔一天执行一次
三、修改crontab默认编辑器为vim
1.debian终端下默认编辑器为nano,比如crontab -e就会打开nano,这个编辑器用起来很不习惯,想修改为vim,当然,你的debian系统必须先安装vim.如果已经安装vim,请输入如下命令:
# update-alternatives --config editor
然后选择/usr/vim/vim.basic就可以了,vim.tiny与vim.basic的区别是vim.basic为完全版的vim,而vim.tiny为简化版,功能上有所区别,如不支持高亮等等.
输入数字 2 ,回车,再次打开crontab -e即可。
crontab的使用就到此为止了,欢迎有问题的小伙伴在下方留言。
Linux crontab命令 定时任务 用法详解以及no crontab for root解决办法的更多相关文章
- 【转】Linux虚拟终端命令Screen用法详解
转自 http://www.linuxidc.com/Linux/2013-07/87415.htm 在使用ssh或者telnet登录远程主机后,执行一些耗时的命令,如果此时ssh或者telnet中断 ...
- linux route命令的使用详解 添加永久静态路由 tracert traceroute
linux route命令的使用详解 添加永久静态路由 tracert traceroute route -n Linuxroute print Windows traceroute ...
- IP命令的用法详解
IP命令的用法详解 原创 2017-06-29 10:02:34 0932 摘自:http://www.php.cn/linux-371363.html ip命令是Linux下较新的功能强大的 ...
- (转)linux 中特殊符号用法详解
linux 中特殊符号用法详解 原文:https://www.cnblogs.com/lidabo/p/4323979.html # 井号 (comments)#管理员 $普通用户 脚本中 #!/b ...
- Linux常用命令及部分详解
1.总结部分 常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all) m ...
- linux shell 之 crontab(定时任务)详解
1.定义: crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行.该词来源于希 ...
- Linux下nl命令的用法详解
Linux中nl命令和cat命令很像,不过nl命令会打上行号,属于比较不常用的命令,下面随小编一起来了解下这个鲜为人知的nl命令吧. nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文 ...
- Linux运维技术之详解任务计划(crontab命令)
crontab命令 按照预先设置的时间周期(分钟.小时.天……)重复执行用户指定的命令操作,属于周期性计划任务 (1).先来看一下/etc/crontab文件的内容: [root@localhost ...
- Linux rpm 命令参数使用详解[介绍和应用]
RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两 ...
随机推荐
- 20165330 2017-2018-2 《Java程序设计》第5周学习总结
课本知识总结 第七章 内部类与异常类 内部类:类的一种成员 外嵌类:包含内部类的类称为内部类的外嵌类 二者关系: 内部类的外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法. ...
- Pulsar
The Apache Software Foundation Announces Apache® Pulsar™ as a Top-Level Project : The Apache Softwar ...
- 移除 URL 中的 index.php
w 将.htaaccess 放至该站点根目录. http://codeigniter.org.cn/user_guide/general/urls.html 如果你的 Apache 服务器启用了 mo ...
- <2014 10 01> 数学基础 Wikipedia
数学基础 数学上,数学基础一词有时候用于数学的特定领域,例如数理逻辑,公理化集合论,证明论,模型论,和递归论.但是寻求数学的基础也是数学哲学的中心问题:在什么终极基础上命题可以称为真? 目前占统治地位 ...
- OKEx量化分析报告[2017-12-09]
OKEx量化分析报告[2017-12-09] [分析时间]2017-12-09 15:24 [分析对象]OKEx [计价币种]USDT [报告内容]DASH_USDT短期 -3.8中期 ...
- 4.1 - FTP文件上传下载
题目:开发一个支持多用户同时在线的FTP程序要求:1.用户加密认证2.允许同时多用户登录3.每个用户有自己的家目录,且只能访问自己的家目录4.对用户进行磁盘配额,每个用户的可用空间不同5.允许用户在f ...
- d3.js 之增加感染力:使用转场效果
转场/transition 图形比数据有感染力,动起来的图形比静态的图形更有感染力. 转场是一种过渡,提供两个稳定状态间的一种动态渐进的变化.转场的概念来源于电影. 电影中存在不同场景之间的切换,比如 ...
- JMeter场景运行(非GUI方式运行命令)
JMeter场景运行方式可分为两种: GUI方式运行,视窗运行,双击jmeter.bat启动运行即可以看到运行界面: 非GUI方式运行,在命令窗口中使用java –jar命名运行: 但不管是以 ...
- Linux上的下载软件uGet
uGet是一款开源下载软件,类似于我们常用的迅雷,不过uGet支持的操作系统非常多,Ubunut,Arch,openSUSE,Windows,MacOS,BSD等. uGet支持两个下载引擎:curl ...
- LInux中ThreadInfo中的preempt_count字段
最近看各种上下文,发现和ThreadInfo中的preemption字段密切,于是便调查了下. 看下Linux源码中的注释: /* * We put the hardirq and softirq c ...