0x00Crontab初

Linux中关于crontab的几个重要文件、目录

  • /var/spool/cron/目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名。
  • /etc/crontab这个文件负责调度各种管理和维护任务
  • /etc/cron.d/这个目录用来存放任何要执行的crontab文件或脚本
  • 而我们书写的定时任务脚本可以放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly,这样就可以让他每小时、每天、每周、每月执行一次

0x01Crontab命令

常用的命令有:
crontab [-u username] //如果不输入该选项代表当前用户的crontab
        -e 编辑工作表
        -l 列出工作表里的命令
        -r 删除工作表

使用流程:

1.使用crontab -e进入当前用户的工作表编辑,是常见的vim界面,每行是一条命令

image-20200917095059634

第三个是自己写的,代表每分钟输出上图中的内容到/tmp/test.txt中

然后我们去/tmp/test.txt中查看:

image-20200917095222055

可以看到已经成功执行了。

2.然后可以使用crontab -l查看当前用户的定时任务列表:

image-20200917095309780

就跟-e中的文件内容是一样的。前文也说过这个文件的存放路径是/var/spool/cron

我们去到那个目录打开看一下:

image-20200917095437322

可以看到有个root文件,它就代表了root用户的定时任务。

如果我们有其他用户并创建了定时任务就会在该目录下创建出定时任务文件夹.

3.crontab中的操作符

  • *取值范围内的所有数字
  • / 每过多少个数字
  • -从X到Z
  • ,散列数字
* */1 * * * /etc/init.d/smb restart
上面代表每一小时重启smb服务
* 23-7/1 * * * /etc/init.d/smb restart
从晚上11点到早上7点之间每隔一小时重启smb