linux之定时任务吗,Linux系统管理之定时任务

squares.svg

我们来平民化的理解一下什么是定时任务,Linux定时任务类似于我们平时生活中的闹钟,根据我们设定好的时间,定点去执行某件事情。Linux定时任务命令是 crontab,该命令需要 crond 服务支持。在安装完操作系统后,系统默认会安装 crond 服务,并且该服务默认是自启动状态。

为什么要用到定时任务

计划任务主要是做一些定期周期性的任务,比如每天凌晨1点定时备份重要的数据、每天凌晨2点清理一些垃圾文件等。

计划任务主要分为以下两种使用情况: 系统级别的定时任务

临时文件清理、系统信息采集、日志文件切割 用户级别的定时任务

定时备份系统配置文件、定时备份数据库的数据

crond 常用命令 查看 crond 服务的运行状态

$ service crond status

9d0e301c9e8abfd91a7b0804e708b047.png

我们看到crond服务状态是active running运行中。 service crond start //启动服务 service crond stop //关闭服务 service crond restart //重启服务 service crond reload //重新载入配置

配置定时任务

cron有两个配置文件,一个是一个全局配置文件(/etc/crontab),是针对系统任务的;一组是crontab命令生成的配置文件(/var/spool/cron下的文件),是针对某个用户的。

我们先来看看/etc/crontab文件:

$vi /etc/crontab

142299184453df3cb941f3843a8e8891.png

1、任务执行时间格式讲解

来看看上面的截图例子,有5个*符号,他们分别代表的意思如下表: 项目 含义 范围 第一个"*" 一小时当中的第几分钟(minute) 0~59 第二个"*" 一天当中的第几小时(hour) 0~23 第三个"*" 一个月当中的第几天(day) 1~31 第四个"*" 一年当中的第几个月(month) 1~12 第五个"*" 一周当中的星期几(week) 0~7(0和7都代表星期日)

以上表格中的时间表示,都是标准的形式,在我们实际的使用过程中,可能对于时间的要求更加复杂,比如想在每天的凌晨1点至3点,6点至10点执行任务等这种比较复杂的情况,我们该如何设定时间呢?我们先来看下时间表达的一些特殊符号: 特殊符号 含义 *(星号) 代表任何时间。比如第一个"*"就代表一小时种每分钟都执行一次的意思。 ,(逗号) 代表不连续的时间。比如" 0 8,12,16

*命令"就代表在每天的 8 点、12 点、16 点执行一次 -(中杠) 代表连续的时间范围。比如"0 5

1-6命令",代表在周一到周六的凌晨 5 点 0 分执行 /(正斜线) 代表每隔多久执行一次。比如"

/10

*命令",代表每隔 10 分钟就执行一次

2、任务执行时间举例

30 20 * * * 在 20 点 30 分执行命令

0 14 * * 1 在每周一的 14 点 0 分执行命令

0 2 1,15 * * 在每月 1 号和 15号的凌晨 2 点 0 分执行命令

30 3 * * 1-5 在每周一到周五的凌晨 3 点 30 分执行命令

*/10 3 * * * 在每天的凌晨 3 点,每隔 10 分钟执行一次命令

0 0 1,15 * 1 在每月 1 号和 15号,每周一会执行命令

3、使用举例 让系统每隔 5 分钟就向

/tmp/test 文件中写入一行“test crontab”,我们来验证一下系统定时任务是否会正常执行:

$crontab -e

进入编辑界面之后,输入:

*/5 * * * * /bin/echo "test crontab" >> /tmp/test

然后按一下Esc,输入:wq!保存,保存之后,会在/var/spool/cron目录生成一个root文件,因为我是用root账户创建的。

e929d4ac2f3a8f66ad6b9a92494e9c1a.png

5分钟后,我们去看看/tmp目录已经生成了test文件,并且文件中已经写入了一条test crontab。 让系统在每周一的凌晨1 点 10 分重启一次

5 5 * * 1 /sbin/shutdown -r now

注意事项 时间+需要执行的任务选项都不能为空,必须填写 crontab 定时任务的最小有效时间是分钟,最大有效时间是月。 在定时任务中,不管是直接写命令,还是在脚本中写命令,最好都使用绝对路径。有时使用相对路径的命令会报错 在定义时间时,日期和星期最好不要在一条定时任务中出现,因为它们都以天为单位,非常容易混淆,不便于管理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值