无心的梦呓 · 2019年11月03日

Linux定时任务简述

目录

0x01 介绍

0x02 实践举例

0x01 介绍

在Linux中,可以用来做定时任务的有好几个软件,我们只说基于cron服务的crontab

cron是执行定时任务的守护进程,可以在etc下找到具体的内容

file

crontab定时任务分为两种,系统自动运行的和管理员操作的

系统自动运行的主要就是系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等任务,在/etc/crontab中进行配置

file

然后来解释一下其中所代表的含义

第一位,minute(0-59)
第二位,hour(0-23)
第三位,day of month(1-31)
第四位,month(1-12)
第五位,day of week(0-6)(Sunday=0 or 7)

然后还有几个特殊字符需要明确一下

*   每的意思
-   连续的时间,[1-5]
,   不连续的时间,1,2,3,4,5

然后结合上面的两个点就可以表明很多含义了

* * * * *       每分钟执行
1-5 * * * *     每小时的第1-5分钟每分钟执行
2,3,4 * * * *   每小时的第2,3,4分钟每分钟执行

注意:crontab最多只支持到每分钟

具体的执行例子就不说了,后面会举例说明

管理员操作,用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。

crontab的常用参数也不是很多,自行查看即可

file

0x02 实践举例

我们先确定一下定时任务有没有启动,然后再进行其他操作

file

然后我们使用-e参数进入编辑

file

保存后,使用-l参数进行查看

file

file

接下来我们编写一个每5分钟同步一次系统时间的任务

我们先确定一下能不能正常同步时间

file

同步时间没有问题,但是每次都会有输出,可能会成为系统垃圾,所以我们在写计划任务的时候需要处理一下

file

这里的处理是将所有的输出都丢到黑洞设备里,看过前面Linux重定向的应该都能明白这个的含义,没有看过的可以移步《Linux重定向及反弹shell详解》

那么如果我们想要定时备份一个文件又该怎么处理呢,假如我们要每天零点备份hosts文件

我们使用一个脚本文件来进行操作

file

在确保没问题之后再将其添加到计划任务中

file

file

这样就已经完成了我们的需求了,对于其中的date命令操作不明白的,可以移步《Linux文件查找命令详解》查看详情

简单的介绍就说这些,明天再说更复杂的例子。

文章首发公众号:无心的梦呓(wuxinmengyi)

这是一个记录红队学习、信安笔记,个人成长的公众号

扫码关注即可

file

推荐阅读
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息