Linux crontab 命令

本文深入解析了crontab的使用方法、时间间隔设置,并提供了实例演示,帮助用户掌握如何创建、编辑、删除crontab任务,以及如何通过SELinux进行权限控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

crontab 可以在 [指定时间] [时间段的间隔] 执行系统命令或执行 shell 脚本。

用法

crontab [-u user] file

crontab [-u user] [-l | -r | -e] [-i] [-s]

描述

Crontab  is the program used to install, remove or list the tables used to drive the cron(8) daemon.  Each user can have their own crontab, and
though these are files in /var/spool/ , they are not intended to be edited directly. For SELinux in mls mode can be even more  crontabs  -  for
each range. For more see selinux(8).

The cron jobs could be allow or disallow for different users. For classical crontab there exists cron.allow and cron.deny files.  If cron.allow
file exists, then you must be listed therein in order to be allowed to use this command.  If  the  cron.allow  file  does  not  exist  but  the
cron.deny  file  does exist, then you must not be listed in the cron.deny file in order to use this command.  If neither of these files exists,
only the super user will be allowed to use this command.  The second option is using PAM authentication, where you set up users, which could or
couldn’t use crontab and also system cron jobs from /etc/cron.d/.

The temporary directory could be set in enviroment variables. If it’s not set by user than /tmp is used.

参数

-u     Append  the  name  of  the user whose crontab is to be tweaked.  If this option is not given, crontab examines "your" crontab, i.e., the
       crontab of the person executing the command.  Note that su(8) can confuse crontab and that if you are running inside of su(8) you should
       always  use  the  -u  option for safety’s sake.  The first form of this command is used to install a new crontab from some named file or
       standard input if the pseudo-filename "-" is given.

-l     The current crontab will be displayed on standard output.

-r     The current crontab will be removed.

-e     This option is used to edit the current crontab using the editor specified by the VISUAL or EDITOR  environment  variables.   After  you
       exit from the editor, the modified crontab will be installed automatically.

-i     This option modifies the -r option to prompt the user for a ’y/Y’ response before actually removing the crontab.

-s     It  will  append  the  current  SELinux security context string as an MLS_LEVEL setting to the crontab file before editing / replacement
       occurs - see the documentation of MLS_LEVEL in crontab(5).

时间和间隔设置的说明

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

以上字段特殊字符

  • *: 所有值
  • ,: 枚举值
  • -: 整数范围
  • /: 频率

crontab 实例

每分钟执行一次

* * * * * curl baidu.com

每小时的第20和40分钟执行一次

20,40 * * * * curl baidu.com

每凌晨0点到6点之间的第20和40分钟执行一次

20,40 0-6 * * * curl baidu.com

每个星期一的凌晨0点到6点之间的第20和40分钟执行一次

20,40 0-6 * * 1 curl baidu.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值