定时任务基础知识

本文详细介绍了Linux系统中的定时任务,包括at、cron和anacron三种工具的使用。重点讲解了cron服务的配置和管理,如通过crontab命令创建用户定时任务,以及系统级别的定时任务文件。此外,还提到了定时任务的权限管理和日志查看,以及如何通过systemctl管理cron服务。
摘要由CSDN通过智能技术生成

定时任务

常用作用

  1. 定时备份数据库数据,存储数据,配置文件(软件配置,内核参数配置)。
  2. 定时发微信,邮件。
  3. 定时执行任务。
  4. 数据报表统计。

windows系统定时任务

“开始”——“所有程序”——“附件”——“系统工具”——“任务计划程序”

可在此处新建或删除修改定时任务。
(可设置定时关机等任务)
在这里插入图片描述

linux系统定时任务

  1. at定时任务软件(依赖与atd服务)仅执行一次就结束的调度任务。
  2. cron定时任务软件(依赖与crod服务)通过crontab命令配置周期性的定时任务。
  3. anacron定时任务软件以天为周期或者在系统每次开机后执行任务。检测服务器停机期间应执行但并没有执行的任务,并将任务执行。

cron安装语句

linux-ivfj:~# yum -y install vixie-cron
linux-ivfj:~# yum -y install crontabs

cron

  1. 用户定时任务计划
    crond为服务进程名,会以分钟为单位查看/var/spool/cron路径下以系统用户名命名的定时任务文件,查看是否有要执行的定时任务。有则将任务调度到内存中执行,这部分文件为用户定时任务文件,使用crontab命令编辑的文件最终都会以当前用户名作为文件名存在/var/spool/cron路径下(例如用root用户配置的定时任务, 其配置文件为/var/spool/cron/root)。
  2. 系统定时任务计划
    查看/etc/cron.d目录以及/etc/anacrontab下的文件内容,每年每周每月需执行的任务。
linux-ivfj:~ # ls -l /etc|grep cron
drwxr-xr-x  2 root root      4096 Jun 27  2017 cron.d  #<==系统定时任务目录
drwxr-xr-x  2 root root      4096 Jul  9  2020 cron.daily#<==按天轮询配置的目录
-rw-------  1 root root         6 Aug 21  2015 cron.deny
drwxr-xr-x  2 root root      4096 Jul  9  2020 cron.hourly
drwxr-xr-x  2 root root      4096 Aug 24 16:48 cron.monthly
drwxr-xr-x  2 root root      4096 Aug 24 16:48 cron.weekly
-rw-------  1 root root       255 Aug 21  2015 crontab

crond服务还可周期性的自动执行和操作系统相关的定时任务,例轮询系统日志,备份系统数据,清理系统缓存。

linux-ivfj:~ # ls -l /var/log/messages* #<==linux系统日志自动轮询,
-rw-r----- 1 root root 1873770 Aug 25 09:41 /var/log/messages
linux-ivfj:~ # ls -l /var/log/secure*

注:以上两种定时任务的配置格式不相同。

cron定时任务语法

crontab -l 查看定时任务内容(同 cat /var/spool/cron/root)

crontab -e 编辑定时任务内容(同 vim /var/spool/cron/root)

定时任务权限及配置文件

文件说明
/etc/cron.deny不允许使用crontab命令
/etc/cron.allow允许使用crontab命令,优先于/etc/cron.deny
/var/spool/cron/所有用户的cron配置文件都默认放置在此目录中

用户定时任务编写基本格式

cat /etc/crontab   #配置文件
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
-*/15 * * * *   root  test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
##每十五分钟执行一次
* * * * * cmd



书写格式由五个星号,和执行的命令或脚本组成如上

第一个星号,代表分钟;
第二个星号,代表小时;
第三个星号,代表日,天;
第四个星号,代表月份;
第五个星号,代表星期,周几;

例:
00 10 * * * cmd
每月每周每天的10点00分执行cmd任务。
00 1-3 * * * cmd
每月每周每天的1点,2点,3点分别执行
00 12,10,1 * * * cmd
每月每周每天的12点,110点,1点执行
*/12 * * * * cmd
每隔12分钟执行一次

crontab命令编辑的定时任务依赖服务

linux-ivfj:~ # systemctl status crond.service#<==查看cron定时任务服务启动状态
● crond.service
 #若以下有enabled说明开机crond为自启动状态,running为当前启动状态,目前以下系统没有定时任务。
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
linux-ivfj:~ # systemctl restart crond.service#定时任务重启命令
linux-ivfj:~ # systemctl start crond#开启
linux-ivfj:~ # systemctl enable crond#关闭


注:编辑定时任务文件后,无需重启定时任务,crond会自动检查更改的变化。
若定时任务出现故障,可查看/var/log/cron文件。

学习老男孩的总结,嘿嘿,做个总结,防止过两天忘了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值