linux centos stream 9 定时任务

定时任务,也称为计划任务,指在规定时间执行某项任务。在各操作系统中都有此功能,如Windows下的计划任务:定时关机等。

linux用户定时任务和系统定时任务是在Linux操作系统中用于自动执行特定任务的机制。它们基于cron(cron daemon)服务来完成的。

cron是linux系统中以后台进程模式周期性执行命令或指定程序的服务软件。默认情况下,安装完linux操作系统之后,cron服务软件便会启动,服务对应的守护进程名字为crond。crond服务会定期(默认每分钟一次)检查系统中是否有需要执行的计划任务。如果有,便会根据其预先设定的定时任务规则自动执行。

crontab可以理解为cron与table构成的命令,就是要执行cron服务的详细工作表。本文讨论定时任务主要就是分析研究crontab命令的使用与相关操作。

crontab命令的特点如下:

灵活性:crontab命令可以根据用户的需求设置非常灵活的定时任务,可以精确到每分钟。更可以设置具体的小时、日期、月份和星期等。

自动化:crontab命令可以在完成任务的编辑后,交由系统自动执行,无需人工干预,提高了工作效率,有更好的用户体验。

多用户支持:每个用户都可以设置自己的crontab任务,实现个性化的定时任务管理。

多任务支持:crontab命令可以同时管理多个定时任务,每个任务都可以有不同的执行时间和命令。

系统级任务支持:除了个人任务,crontab还可以用于执行系统级的周期性工作,如备份系统数据、清理缓存等。

crontab命令主要应用场景:

定期备份:可以使用crontab命令定期执行数据备份任务,确保数据的安全性。

日志清理:定期清理过期的日志文件,释放磁盘空间,提高系统性能。

定时任务调度:可以使用crontab命令定时执行特定的任务,如定时发送报告、定时执行脚本等。

系统维护:可以使用crontab命令执行系统维护任务,如更新软件、重启服务等。

为了全面讨论定时任务及执行,我们先介绍定时服务软件,再从定时任务分类开始,分别讨论系统定时任务和用户定时任务,再就定时任务的管理、注意事项等提出建议。

一、定时服务软件

linux系统下定时任务软件很多,最常用的是cron。在linux centos stream 9系统中,已默认安装。同时,还安装了at和anacron。

at定时任务软件(依赖于atd服务)适合仅执行一次就结束的定时任务。例如:某天夜里需要处理一个任务,仅仅是这一天的夜里,属于突发性的工作任务,那就可以使用该软件。要使得at这个软件设定的配置生效,还需要提前启动一个名为atd的服务才行。

cron定时任务软件依赖于crond服务。通过crontab命令可以配置周期性执行的定时任务,例如:每五分钟做一次服务器时间同步。

anacron定时任务软件主要是为非 7*24小时开机的服务器准备的,anacron并不能指定具体时间执行任务工作,而是以天为周期或者在系统每次开机后执行任务工作。它会检测服务器停机期间应该执行但是并没有进行的任务工作,并将该任务执行一遍。

二、定时任务分类

1.按定时任务数分类

a.单项定时任务

某一时间完成的单个或多个任务。因为任务相对简单,可以用at命令完成。

如在0点0分开始备份某一目录。

b.多项定时任务

周期性执行的单个或多个任务。如:

每1分钟执行一次command;

每小时的第3和第15分钟执行command;

每隔两天的上午8点到11点的第3和第15分钟执行command;

每个星期一的上午8点到11点的第3和第15分钟执行command。

2.按制定/执行者分类

a.系统定时任务

不用管理员处理,由系统自动执行。

如系统日志、系统安全日志,每周一次,共保存四周的文件记录。系统日志与系统安全日志一周一次切换,由系统自动来回执行!

文件/etc/logrotate.conf设置好了日志循环方式与要求。可以打开查看。

系统定时执行后的系统日志保存在在/var/log/目录下,以message开头,结合当时的日期时间来命名。

        ls -l /var/log/messages*  #系统日志

Linux系统的日志与安全日志会自动被轮询,以时间作为文件结尾。

        ls -l /var/log/secure*  #系统安全日志

同样,在/etc目录下,有多个定时任务的存放目录,如按天执行的任务,存放在/etc/cron.daily目录中。也有按小时执行的目录hourly、按周执行的目录、按月执行的目录等。

crond在工作时除了查看/var/spool/cron下的定时任务文件外,还会查看etc/cron.d目录以及/etc/anacrontab下的文件内容,如果有要执行的任务就会执行。

系统定时任务存放多个目录下,可以如下查找:

        ll /etc |grep cron

        cron.d       系统定时任务的目录

        cron.daily    按天轮询配置的目录

  • 22
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_36142959

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值