crontab 和其他账号一起设置作业_Linux之crontab(例行性任务)

260febb150b6671d643d9a647225ebdd.png
写在开篇之前:
欢迎关注这个啥都要懂一点的男人的 微信公众号:多面手程序员
如果觉得这篇文章还不错,还请不吝点赞~ 也欢迎关注专栏~
题图自百度

一、crontab 简介

Linux 存在一部分任务,需要定期循环地执行,即例行性任务。

这类例行性的任务分为两类:用户设置的例行性任务和系统层面的例行性任务。

用户设置的例行性任务就是由具体某个用户直接设定的要做的工作,例如每天定时发送邮件等。

系统层面的例行性任务就是系统周期性执行的任务,例如定时清理缓存、备份数据等等。

这种例行性的循环工作调度则需要一个程序来支持。

所有的例行性工作调度都是由 cron 服务控制的,cron 每分钟会检查是否有任务需要执行,若有则执行任务。

Linux 的 crontab 是用来定期循环执行指定任务的命令。

在这里,我们利用 man 命令,查询和解释一下 cron 和 crontab 的区别。

cron 是执行计划命令的守护程序(daemon to execute scheduled commands);

crontab 是维护某个用户的 crontab 文件的命令(maintain crontab files for individual users);

cron 会在搜索 /var/spool/cron/crontabs/ 目录下的文件及 /etc/crontab 文件中所有的 crontab 命令,并载入内存中。

二、用户设置的例行性任务

2.1、crontab 语法

  • crontab命令
crontab -e					# 为当前用户添加例行性任务
crontab -l					# 显示所有例行性任务
crontab -r					# 删除所有例行性任务
crontab -u <user>		       # 修改特定用户的例行性任务

温馨提示,如果是删除其中一个计划任务,使用 -e 进行修改,切不可使用 -r 。

在执行了 crontab -e 后,会默认进入当前用户的例行性任务编辑界面。

而后,利用 crontab 语法进行任务编辑。

  • crontab 基本语法
# Example of job definition:
# .---------------- 分钟 (0 - 59)
# |  .------------- 小时 (0 - 23)
# |  |  .---------- 日期 (1 - 31)
# |  |  |  .------- 月份 (1 - 12)
# |  |  |  |  .---- 星期 (0 - 7) (周日 = 0 or 7)
# |  |  |  |  |
# *  *  *  *  * 要执行的命令

2.2、相关文件

  • /etc/cron.allow 与 /etc/cron.deny

cron.allow 和 cron.deny 是限制 crontab 命令使用的用户名单。allow 是允许使用 crontab 命令的用户,deny 是不允许使用 crontab 命令的用户。

两份文件不一定都存在,在 Linux 中,会做如下规定:

(1)如果 cron.allow 文件存在但 cron.deny 文件不存在,那么在文件中写下的用户名,允许执行 crontab 命令。

(2)如果 cron.deny 文件存在但 cron.allow 文件不存在,那么在文件中写下的用户名,不允许执行 crontab 命令。

(3)如果两份文件都存在,那么只有 allow 文件具备优先权,只能使用 allow 文件来做限定用户。

(4)如果两份文件都不存在,那么会根据相关配置文件(depending on site-dependent configuration parameters),要么只有 root 用户允许执行该命令,要么所有的用户都能执行该命令。

  • /var/spool/cron/crontabs/

在新增例行性任务之后,这些任务会在该目录下记录这些例行性任务。

这些任务以用户账号区分。

需要注意的是,不要直接修改这个目录下的文件,可能会由于输入语法错误导致 crontab 无法执行。

三、系统的例行性任务

  • /etc/crontab

crontab -e 是针对用户的例行性任务设计的。

如果是系统的例行性任务,不能使用 crontab 命令来新增例行性任务。而是直接编辑 /etc/crontab 文件即可。

(完)

欢迎评论建议~

可以是对本文内容的看法,可以是文章的改进建议等等~

往期阅读推荐

Linux 命令之who、who am i、whoami 的区别

一篇读懂 Linux 用户管理与操作

详解 Linux 帮助命令

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值