怎么在linux系统里设置延时/定时任务?

使用at命令设置延时任务

  1. 用法
    at 19:50   ##设置定时任务,ctrl+d任务写入完成!
    at now+1min   ##任务执行时间为现在起过一分钟
    at -l   ##查看任务列表
    at -c 任务号   ##查看任务内容
    at -r 任务号   ##取消任务执行
    在这里插入图片描述

  2. 设置黑白名单

    /etc/at.deny            ##系统中默认存在,在此文件中出现的用户不能执行at
    /etc/at.allow           ##系统中默认不存在,创建文件后,除了名单内的和root用户都不能执行at,并且/etc/at.deny失效
    

    编辑黑名单,将普通用户lucky写进去
    在这里插入图片描述
    添加进去后lucky不能设置任务了
    在这里插入图片描述
    添加进白名单后,黑名单失效
    在这里插入图片描述

使用crontab命令设置定时任务

可以先man 5 crontab查看格式
在这里插入图片描述

  1. crontab 时间表示方式
    从左到右依次是:
    分钟 小时 天 月 周
    在表示周时0和7都是周日
    /2表示每隔两分钟
    *	*	*	*	*				*表示任意,全*表示每分钟(整分过一秒)执行一次
    */2	*	*	*	*				每两分钟执行一次
    */2	09-17	*	*	*			早7点到晚5点每两分钟执行一次
    */2	*/2	*	*	*				每隔2小时每两分钟执行一次
    */2	09-17	3,5	1	5			1月的3号和5号以及1月的每个周五的早上9点到下午5点每隔2min执行一次	
    */2 09-17	*	*	5			每周周五早9晚5执行一次
    
  2. 用法
    首先要保证crond服务是开启的:
    执行systemctl start crond.service开启
    在这里插入图片描述
    crontab -u 用户 -e   ##root用户添加的定时任务
    crontab -u 用户 -l   ##查看root用户设置的定时任务
    crontab -u 用户 -r   ##取消root用户设置的定时任务
    ##任务文件保存在var/spool/cron/username
    在这里插入图片描述
  3. 设置黑白名单
    /etc/cron.deny            ##系统中默认存在,在此文件中出现的用户不能执行cron
    /etc/cron.allow           ##系统中默认不存在,创建文件后,除了名单内的和root用户都不能执行cron,并且/etc/cron.deny失效
    这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行
    
    和at的用法一样!
  4. 系统级别的cron(文件方式设定定时任务)
    这个要root用户才可以
    vim /etc/cron.d/file(这个file是root创建的)
    格式:
    *****   username    action
    举例:
    *****   root        rm -fr /mnt/*
    
    在这里插入图片描述
    在文件内写入你想定时的任务即可
    在这里插入图片描述
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值