linux-系统定时任务cron

这篇具有很好参考价值的文章主要介绍了linux-系统定时任务cron。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、cron介绍

1.1、什么是cron?

cron是linux系统中以后台进程模式周期性地执行命令或指定程序任务地服务软件。默认安装完linux系统之后,cron服务软件便会启动,服务对应的进程名字为crond。corn服务会定期(默认每分钟检查一次)检查系统中是否有需要执行的任务工作计划。
cron工具对应的crontab命令依赖于crond服务。

1.2、为什么要使用corn定时任务

要不断地对数据进行备份,但是很多时候变天系统业务繁忙,因此数据备份工作只能放到晚上执行,例如:网站数据库数据及用户上传地图片、文件和程序文件等。一般需要每天晚上做一次备份

1.3、不同系统定时任务介绍

1.3.1、windows系统

linux定时任务cron,linux,运维,服务器

1.3.2、Linux系统

at(依赖于atd服务)一次性的定时任务。# 不常用

cron定时任务软件依赖于crond服务,通过crontab命令可以配置周期性执行定时任务工作计划。

anacron定时任务软件为非7*24小时开机的服务器准备,不能指定具体执行任务的时间。

2、linux系统定时任务cron(d)

cron是软件名,crond是进程名,crontab命令来设置定时任务的规则。

crond服务除了执行用户定时任务(/var/spool/cron),还会周期性的自动执行系统相关的定时任务,例如:轮询系统日志、备份系统数据、清理系统缓存等。无序人为干预

2.1、用户定时任务计划

crond服务工作时会以每分钟为单位查看在/var/spool/cron路径下以系统用户名命名的定时任务文件,确定是否有需要执行的任务计划。如果有就把任务调到内存中执行,使用crontab命令编辑的文件最终都会以当前用户命名存在于/var/spool/cron路径下。

2.1.1、使用定时任务权限及配置文件说明

/etc/cron.deny        # 该文件中所列用户不允许使用crontab命令

/etc/cron.allow        # 该文件中所列用户允许使用crontab命令,优先于/etc/cron.deny

/var/spool/cron        # 所有用户的cron配置文件都默认存放在此目录

/var/log/cron            # 定时任务日志文件,获取故障信息

2.1.2、crontab命令编辑定时任务格式

如root用户建立完定时任务后,会以当前用户名创建一个文件存放在/var/spool/cron目录下,配置文件为/var/spool/cron/root

用crontab命令编写定时任务格式分为6段,前5段位时间设定段,第6段为所要执行的脚本或命令任务段

[root@2022-6-23-centos7-test ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

linux定时任务cron,linux,运维,服务器

2.1.3、crontab命令编写语法中特殊字符的含义

linux定时任务cron,linux,运维,服务器

linux定时任务cron,linux,运维,服务器

linux定时任务cron,linux,运维,服务器

2.1.4、编写定时任务的要领

1、定时任务后面执行的命令不能有百分号,如果有必须要转义

2、定时任务尽量用脚本

3、执行定时任务尽量用全路径

4、结尾加上 &>/dev/null或者>/dec/null 2>&1

  2.1.5、实践定时任务

往/test/1.txt 每分钟追加一个 "double kill"

首先检查命令是否正确,正确后开始编写定时任务
crontab -e

#添加注释

* * * * * echo 'double kill' >> /test/1.txt

tips:

定时任务是非登录shell,不会加载/etc/profile文件里的变量(系统变量和环境变量)

2.2、系统定时任务计划

crond服务还会查看/etc/cron.d目录以及/etc/anacrontab下的文件,通常是每天、每周或每月需要执行的任务。

2.2.1、系统任务的配置文件

/etc/logrotate.conf        # 日志轮询切割配置文件
/etc/cron.daily/logrotate        # 每天执行日志轮询定时任务配置文章来源地址https://www.toymoban.com/news/detail-848991.html

到了这里,关于linux-系统定时任务cron的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开源:Taurus.DTS 微服务分布式任务框架,支持即时任务、延时任务、Cron表达式定时任务和广播任务

    在发布完:开源:Taurus.DTC 微服务分布式事务框架,支持 .Net 和 .Net Core 双系列版本,之后想想,好像除了事务外,感觉里面多了一个任务发布订阅的基础功能。 本想既然都有了基础发布订阅功能了,那要不要顺带加上延时发布功能呢?加上了会不会让事务组件不纯了? 经过

    2024年01月21日
    浏览(43)
  • 开源:Taurus.DTS 微服务分布式任务框架,支持即时任务、延时任务、Cron表达式定时任务和广播任务。

    在发布完:开源:Taurus.DTC 微服务分布式事务框架,支持 .Net 和 .Net Core 双系列版本,之后想想,好像除了事务外,感觉里面多了一个任务发布订阅的基础功能。 本想既然都有了基础发布订阅功能了,那要不要顺带加上延时发布功能呢?加上了会不会让事务组件不纯了? 经过

    2024年01月18日
    浏览(50)
  • 【Linux】在服务器上创建Crontab(定时任务),自动执行shell脚本

    业务场景:该文即为上次编写shell脚本的姊妹篇,在上文基础上,将可执行的脚本通过linux的定时任务自动执行,节省人力物力,话不多说,开始操作! 连上服务器后,在任意位置都可以执行: crontab -e 如果没有进入 编辑cron任务模式 根据提示查看我们的服务器上是否未安装crontab没有则

    2024年02月14日
    浏览(60)
  • 【运维】Linux定时任务 定时执行脚本

    五分钟执行一次sh脚本 进入编辑页面 crontab -e 按Insert   进行编辑  # 每两分钟执行一次 */2 * * * * /usr/local/start.sh 依次按 :wq 进行保存  即时生效 重启 #设定crond服务为开机自启动 接下来,在介绍 crontab 命令。该命令和 at 命令类似,也是通过 /etc/cron.allow 和 /etc/cron.deny 文件来限

    2024年02月10日
    浏览(52)
  • golang-定时任务cron

    服务器开发的过程中,经常遇到需要设置定时任务的情况。本文将探讨使用golang的cron包设置定时任务,你将收获cron表达式的使用,cron函数的使用,设置定时任务的场景 设定定时任务最重要的一环就是对定时的设置,cron中对定时的设置采取cron表达式 在线cron表达式生成器:

    2024年02月10日
    浏览(48)
  • 【SpringBoot笔记】定时任务(cron)

    定时任务就是在固定的时间执行某个程序,闹钟的作用。 1.在启动类上添加注解 2.创建定时任务类 在这个类里面使用表达式设置什么时候执行 cron 表达式(也叫七子表达式),设置执行规则 在线生成 cron 表达式工具:在线Cron表达式生成器 比如每隔 5 秒执行一次  比如每天凌

    2024年02月13日
    浏览(65)
  • golang定时任务库cron实践

    cron一个用于管理定时任务的库,用 Go 实现 Linux 中 crontab 这个命令的效果。之前我们也介绍过一个类似的 Go 库——gron。 gron 代码小巧,用于学习是比较好的。但是它功能相对简单些,并且已经不维护了。如果有定时任务需求,还是建议使用 cron 。 文本代码使用 Go Modules。 创

    2024年02月14日
    浏览(52)
  • @Scheduled Cron定时任务——表达式详解

    Cron表达式是一种用于定时任务调度的字符串表达式,它由6个或7个字段组成,分别表示秒、分、时、日、月、周和年。每个字段用空格分隔,字段之间用逗号分隔。 秒(0-59) 分(0-59) 时(0-23) 日(1-31) 月(1-12) 周(0-7,其中0和7都表示周日) 年(可选字段,1970-2099) Cron表达式的语法规则如

    2024年02月09日
    浏览(44)
  • SpringBoot自定义cron表达式注册定时任务

    1、使用Spring自带的TaskScheduler注册任务 2、注册后返回:ScheduledFuture,用于取消定时任务 3、注册任务后不会马上取消任务,所以将任务缓存。在需要取消任务的时候调用取消接口取消 4、cron表达式可以由前端或者后端生成。实现中会校验cron表达式 1、配置任务调度器 作用:设

    2023年04月21日
    浏览(38)
  • NextCloud在Docker环境下配置Cron定时任务

    1.登录宝塔面板 选择计划任务 任务类型选择Shell脚本 任务名称随意 执行周期选择N分钟,然后填写5分钟 脚本内容: ps:nextcloud这里是我的配置,因为我的nextcloud的docker容器就叫做这个,你可以使用docker ps -a 查看你的容器名换上即可 点击添加任务。 2. 登录nextcloud管理员账号

    2024年02月04日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包