0x00

还记得我们之前搭建HTTPS网站每三个月需要进行一次证书更新吗,如果我们每次都记得及时更新的话倒也没什么,不过很麻烦,今天我们介绍一下LINUX下的计划管理任务CRONTAB.

0x01

首先是使用格式,如下所示(来自实验楼)

  1. # Example of job definition:
  2. # .—————- minute (0 – 59)
  3. # | .————- hour (0 – 23)
  4. # | | .———- day of month (1 – 31)
  5. # | | | .——- month (1 – 12) OR jan,feb,mar,apr …
  6. # | | | | .—- day of week (0 – 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
  7. # | | | | | # * * * * * user-name command to be executed

是不是一目了然,前面的五个*,分别代表着分、时、天、月、周。

0x02

那么如何添加计划任务呢

命令:crontab -e

按照上述格式,将你需要执行的自动化任务,添加到crontab任务中

可以是一个脚本,也可以是一个启动服务

使用:crontab -l

来查看有哪些定时任务

0x03

如何确保计划任务一定按时执行呢

启动守护进程,确保任务执行

  1. ps aux | grep cron or pgrep cron

最后 crontab -r 删除计划任务

0x04

etc下有几个cron 相关的目录,也就是说,如何你不会配置的话,可以直接将脚本拷贝到相关目录下,不过执行时间固定

每个目录的作用:

  1. /etc/cron.daily,目录下的脚本会每天执行一次,在每天的6点25分时运行;
  2. /etc/cron.hourly,目录下的脚本会每个小时执行一次,在每小时的17分钟时运行;
  3. /etc/cron.monthly,目录下的脚本会每月执行一次,在每月1号的6点52分时运行;
  4. /etc/cron.weekly,目录下的脚本会每周执行一次,在每周第七天的6点47分时运行;

系统默认执行时间可以根据需求进行修改。

0x05

我们再根据我们上次的自动证书更新需要,来进行一次操作

首先写好自动更新的脚本,命名为ssl_cert_updateautorun.sh,放在/root下目录

然后添加计划任务,0 0 * * 2 root/ssl_cert_updateautorun.sh,我这里设定每周二0分0时自动执行脚本,当然这是根据服务器时间

可以看到 我们使用crontab -l命令可以查看到我们已经添加了

然后守护进程,确保执行

 

[root@host ~]# ps aux |grep cron
root 1733 0.0 0.2 5692 1244 ? Ss Oct29 0:02 crond
root 30503 0.0 0.1 4420 796 pts/0 S+ 11:41 0:00 grep cron

这是我现在操作的提示,接下来,等到下周三我们再查看一下系统日志,确保计划任务确实执行,使用命令

tail -f /var/log/cron 查看cron日志

完结

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注