Linux定时任务简述
目录
0x01 介绍
0x02 实践举例
0x01 介绍
在Linux中,可以用来做定时任务的有好几个软件,我们只说基于cron
服务的crontab
cron
是执行定时任务的守护进程,可以在etc
下找到具体的内容
crontab
定时任务分为两种,系统自动运行的和管理员操作的
系统自动运行的主要就是系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等任务,在/etc/crontab
中进行配置
然后来解释一下其中所代表的含义
第一位,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
的常用参数也不是很多,自行查看即可
0x02 实践举例
我们先确定一下定时任务有没有启动,然后再进行其他操作
然后我们使用-e
参数进入编辑
保存后,使用-l
参数进行查看
接下来我们编写一个每5分钟同步一次系统时间的任务
我们先确定一下能不能正常同步时间
同步时间没有问题,但是每次都会有输出,可能会成为系统垃圾,所以我们在写计划任务的时候需要处理一下
这里的处理是将所有的输出都丢到黑洞设备里,看过前面Linux重定向的应该都能明白这个的含义,没有看过的可以移步《Linux重定向及反弹shell详解》
那么如果我们想要定时备份一个文件又该怎么处理呢,假如我们要每天零点备份hosts文件
我们使用一个脚本文件来进行操作
在确保没问题之后再将其添加到计划任务中
这样就已经完成了我们的需求了,对于其中的date命令操作不明白的,可以移步《Linux文件查找命令详解》查看详情
简单的介绍就说这些,明天再说更复杂的例子。
文章首发公众号:无心的梦呓(wuxinmengyi)
这是一个记录红队学习、信安笔记,个人成长的公众号
扫码关注即可