Linux之crontab命令使用介绍

一、crontab命令的作用

crontab是Linux中用于执行定时任务的命令。安装Linux操作系统便会默认支持使用此命令。

⚠️注意: 新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,可以通过重启 cron 来马上执行。

二、Linux定时任务分类

  • 系统级别:系统周期性所要执行的工作,如备份系统数据、清理缓存
  • 用户级别:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信息

三、具体介绍

3.1 语法
crontab [ -u user ] file
// 或者
crontab [ -u user ] { -l | -r | -e }

参数说明:

  1. crontab: 是用来让使用者在固定时间或固定间隔执行定时任务
  2. -u user:是指设定指定 user 的定时任务,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的定时任务。如果不使用 -u user 的话,就是表示设定自己的定时任务
  3. -e : 使用文字编辑器来设定定时任务,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
  4. -r : 删除目前的定时任务
  5. -l : 列出目前的定时任务
3.2 时间格式如下:
f1 f2 f3 f4 f5 program
  • 其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
  • 当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,以此类推
  • 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,以此类推
  • 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,以此类推
  • 当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,以此类推

备注:
用户也可以将所有要执行的任务先存放在文件中,用crontab file 的方式来设定任务执行时间。

四、具体实例

例子1:

(1)执行crontab -l查看当前已有的定时任务

crontab -l

结果如下:

#Ansible: Ntpdate server for sync time
*/20 * * * * /usr/sbin/ntpdate -u 172.16.120.10
*/60 * * * * echo "" > /opt/app/tomcat/apachetomcatserver/webapps/agent.log

(2)使用crontab -e编辑定时任务,添加新任务

// 第一步:打开编辑器,准备编辑新内容
crontab -e
// 第二步:添加新内容并保存
*/60 * * * * echo "" > /opt/app/tomcat/apachetomcatserver/webapps/agent.log

(3)重启 crond

systemctl reload crond
systemctl restart crond

猜你喜欢

转载自blog.csdn.net/sinat_34241861/article/details/112254005
今日推荐