定时任务就是设定系统按固定时间执行某个操作,可能是执行一条命令,删除XX文件,或者是执行一组脚本,比如备份数据文件等等。该部分内容不难,但对于日常运维十分重要。

一、命令crontab

选项:

-u <user> 指定某个用户,不加为当前用户,用who am i命令看
-e 新建计划任务
-l 列出计划任务。配合-u选项可以列出制定用户的计划任务
-r 删除计划任务,注意他会把你所有的计划任务全部删掉,慎用!!!
-i 删除前确认,跟rm -i一个意思

crontab的配置文件在/etc/crontab路径下

Linux系统管理初步(六)设置计划任务

crontab的命令按这个格式来写:

SHELL定义了shell种类
PATH定义了二进制命令文件路径,一些新安装程序的命令文件如果不在这些路径中就便无法执行
MAILT0定义了执行结果发送给谁

下面的五个星号用来设定什么时候执行计划任务。分别是“分、时、日、月、星期几”

crontab通过crontab -e命令进入计划任务编辑器,操作方式跟vi一致。

二、实际演示一个crontab计划任务。
1、写入计划任务,设定他会在两分钟后ls -la /tmp 输出到/tmp/crontab.log中
Linux系统管理初步(六)设置计划任务
2、启动crond服务

systemctl start crond

3、看结果
Linux系统管理初步(六)设置计划任务

注意我们平时执行的cat、ls之类命令输出到屏幕上的,这里并不会输出到屏幕上,而是要把他输出到一个文件中。

三、操作crontab的注意事项
1、命令后最好加上正确输出和错误输出语句,方便检查计划任务执行结果
像这样:
Linux系统管理初步(六)设置计划任务

2、备份配置好的cron配置文件
每个人的crontab储存在/var/spool/cron里,比如root的cron配置文件就是:/var/spool/cron
Linux系统管理初步(六)设置计划任务
备份时把自己用户名对应的文件拷贝到其他地方就行了。

3、执行重启命令输出的结果
我在crontab中执行了
Linux系统管理初步(六)设置计划任务
这个命令,就是两分钟后重启电脑,
然后他输出的是
Linux系统管理初步(六)设置计划任务
1.txt里什么也没有。。。