Linux系统——计划任务

Linux系统中的计划任务可分为两类:

用户计划任务,文件路径为:/var/spool/cron/username

系统计划任务,文件路径为:/etc/cron*(文件/ect/crontab和/etc/cron.d这个目录下的文件)

"crond"是计划任务的守护进程,这个计划任务是每分钟都会扫描一次所有的计划任务(用户和系统的计划任务)。

用户的计划任务

使用:crontab -e命令可直接进入编写用户计划任务的文件

#crontab -u <-l, -r, -e>

-u:指定一个用户
-l:列出某个用户的任务计划
-r:删除某个用户的任务
-e:编辑某个用户的任务

注意:这个命令只是编写的是所登录用户的计划任务,此计划任务的位置在:/var/spool/cron/username这目录下

/etc/crontab——全局(系统)计划任务文件

其中/etc/contab这个计划任务的文件说明为:

一定要理解这个文件的内容:尤其是SHELL、PATH、MAILTO这三个参数的作用

SHELL:是指定执行计划任务时的解释器为:/bin/bash。

PATH:是指在执行计划任务时,找寻执行命令的路径。

MAILTO:是指计划任务中的一条任务执行成功后的默认邮件接收人。(可在此全局计划任务中指定邮件收件用户)

一定要注意:PATH这个参数,若计划任务中的某条命令不在PATH路径下,就会使计划任务在任务执行后,向邮件发送找不到命令的提示,而不是任务执行成功的提示。

在写计划任务时特殊符号的含义


“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字

例子:先学习一个命令:ntpdate——这个命令是同步时间(当服务器的时间不一致时,可使用此命令使服务器的时间一致)

这个命令的文件绝对路径为:/usr/sbin/ntpdate

命令格式:ntpdate 所同步的时间的另一台服务IP地址

eg:ntpdate 192.168.162.122

执行此命令后,执行此命令的服务器时间就会与162.122的这台服务器时间一致了,同时也会有以下信息显示命令执行成功。

若为使两台服务器的时间每分钟都校准一次,就可以将此命令写入到计划任务中去。

此时就要主要这个命令的执行路径,是否在PATH路径中(或是否在计划任务执行时添加的是绝对路径)如果没有添加该命令的绝对路径后,执行该计划的用户邮件就会收到以下文件的内容提示:

找不到该命令

所以在执行计划任务时,要注意任务中的命令是否属于PATH路径中的,若不属于则将该命令的绝对路径添加到PATH中,或者写该命令的绝对路径。

/etc/cron.*的目录

/etc/cron.d/0hourly文件作用

这个文件有一个命令,意思是每小时的01分执行一次,每小时01分的时候执行一次/etc/cron.d下的所有文件。

在这个目录下还有些

以cron.*的目录是以:(cron.hourly)小时、(cron.daily)天、(cron.weekly)星期、(cron.monthly)月这四个时间的全局计划任务。(绿色是代表:可执行文件-脚本文件

其中".hourly"和“.daily”的计划任务只要写进去就会被执行,但“.weekly”和".monthly"这两个计划任务的执行需要设置才会执行。

首先来认识一下这四个目录中的文件(目录中的文件命名很有含义)

例子:“.hourly”目录中有一个以“0(数字-零)”开头的文件,这个数字是代表脚本文件执行的优先级

数字0越多这代表这个文件执行的优先级越高。

查询命令的帮助文档:Linux系统——man帮助说明-CSDN博客

在Linux系统中使用:

①”which“命令可查询命令文件的绝对路径。

②“whatis” 命令也可查询命令简单的描述。注意:这个命令的查询结果是根据数据库来查询的,而且这个数据库是每天都会更新的。如果系统刚装的时候使用此命令查询帮助是查询不到的。 数据库的具体的更新时间,就是依据man-db.cron这个文件

可使用“mandb”这个命令来手动更新man帮助的数据库内容,而不需要等到一天之后才会更新。

③“--help”命令来查询命令帮助文档

④“man”命令查询帮助文档

⑤“info”命令也可插叙命令的帮助文档

设置用户无法创建计划任务的文件:/etc/cron.deny

仅拒绝,其他用户都允许

一个用户写一行,如果将用户写入该文件,则这个用户就无法创建用户的计划任务了

如果将用户user1写入此文件,则该用户就无法创建计划任务

设置用户可以创建计划任务的文件:/etc/cron.allow

仅允许,其他用户都拒绝

这个文件在Linux系统本来是不存在,但可以创建此文件(cron.deny和cron.allow这两个文件只要存在一个就可以了)

注意:当/etc/cron.deny和/etc/cron.allow这两个文件中都写有同一个用户,是cron.allow这个文件中的内容先生效。

仅是自己的学习记录,有错误的地方欢迎各位指出。一起共勉

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值