Ubuntu下crontab的安装和使用

crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。通常,crontab储存的指令被守护进程激活。crond 常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。

一、安装

1、ubuntu安装cron

安装:apt-get install cron
启动:service cron start
重启:service cron restart
停止:service cron stop
检查状态:service cron status
查询cron可用的命令:service cron
检查Cronta工具是否安装:crontab -l

附centOS安装:
centOSs安装cron:(1)vixie-cron 软件包是 cron 的主程序;(2)crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

yum install vixie-cron
yum install crontabs

配置:

service crond start     //启动服务
service crond stop      //关闭服务
service crond restart   //重启服务
service crond reload    //重新载入配置
service crond status    //查看crontab服务状态

在CentOS系统中加入开机自动启动:

chkconfig --level 345 crond on

二、使用

1、启动Cron服务

service cron start

2、使用Cron帮助
如果cron工作正常,那么你可以使用man命令查看其手册描述的详细用法。(退出按下q键或h键)

man crontab

在这里插入图片描述

3、对Cron作业进行列表显示

使用以下命令列出当前用户计划的cron作业。

crontab -l

在这里插入图片描述
如果想查看其它用户的cron作业,可以使用如下命令(这会列出指定用户的cron作业):

crontab -l -u username

4、编辑Cron作业
第一次进入的时候要选择编辑器,选择后你可以配置新cron作业了,一般是选3

crontab -e

在这里插入图片描述
下面的例子,创建一个cron作业,它每分钟输出文本“test crontab is work or not”并把文本保存到/var/www/html/testcrontab.txt。
写入以下的脚本,保存退出,一旦保存了此cron脚本文件,就可以把它添加到计划的作业中。

* * * * * echo "test crontab is work or not" >> /var/www/html/testcrontab.txt

Cron表达式详解可参考这里https://blog.csdn.net/longgeaisisi/article/details/90400969
在这里插入图片描述
运行结果:

在这里插入图片描述
5、移除Cron作业
使用下面的命令移除已经计划的cron作业

crontab -r

使用下面的命令移除所有已计划的cron作业,且无需再次确认。

crontab -ir

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

6、总结
(1)新创建的cron作业,不会马上执行,至少要过2分钟才执行。如果重启cron服务则会马上执行。
(2)Cron是Unix系统的一个配置定期任务的工具,用于定期或者以一定的时间间隔执行一些命令或者脚本;可执行的任务范围可以是每天夜里自动备份用户的home文件夹,也可以每个小时记录CPU的信息日志。
crond位于/etc/rc.d/init.d/crond 或 /etc/init.d 或 /etc/rc.d /rc5.d/S90crond,最常用/var/lock/subsys/crond。
(3)crontab(cron table)命令用于编辑执行中的定期任务列表,并且操作是基于每个用户的,每一个用户(包括root用户)都拥有自己的crontab。
crontab位于/usr/bin/crontab。
crond守护进程是在系统启动时由init进程启动的,受init进程的监视,如果它不存在了,会被init进程重新启动。这个守护进程每分钟唤醒一次,并通过检查crontab文件判断需要做什么。
每个用户有一个以用户名命名的crontab文件,存放在/var/spool/cron/crontabs目录里。若管理员允许或者禁止其他用户拥有crontab文件,则应编辑/etc/下面的cron.deny和cron.allow这两个文件来禁止或允许用户拥有自己的crontab文件。每一个用户都可以有自己的crontab文件,但在一个较大的系统中,系统管理员一般会禁止这些文件,而只在整个系统保留一个这样的文件。

参考来自https://blog.csdn.net/chszs/article/details/47276899

  • 38
    点赞
  • 144
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Ubuntucrontab是一个文本文件,用来存放用户要运行的命令。要编辑crontab文件,可以使用命令"crontab -e"。这将使用你所选择的文本编辑器打开一个新的文件,在其中你可以设置你要运行的命令和执行时间。编辑完成后保存并退出编辑器。 在Ubuntu下,你可以使用命令"crontab -l"来列出当前用户的crontab内容。这将显示出所有已设置的任务和执行时间。 要查看crontab的日志,需要先设置cron运行日志存放路径。你可以使用命令"sudo vi /etc/rsyslog.d/50-default.conf"来编辑配置文件,在其中去掉cron前面的"#"符号,并保存文件。 如果你想检查cron是否已启动,可以使用命令"ps aux | grep cron"来查看正在运行的进程。如果cron未启动,可以使用命令"sudo /etc/init.d/cron restart"来重启cron。另外,你还可以使用命令"sudo /etc/init.d/cron reload"来重新载入配置。 请注意,以上操作是基于Ubuntu系统的。其他Linux系统可能会有一些差异,但大体上类似。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [解析Ubuntucrontab命令的用法](https://download.csdn.net/download/weixin_38516804/13725984)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ubuntu crontab 简单使用](https://blog.csdn.net/lingdukafeibj/article/details/122555901)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值