为了账号安全,请及时绑定邮箱和手机立即绑定

linux 之计划任务 at crontab

标签:
Linux

1. at 命令

1.1 at 用法

at 时间描述

at 6pm Monday
at now + 5 minutes
at 12:04:47 10/22/2017

at>任务描述
at> ctrl+d

atq 查询当前用户正在等待的计划任务
atrm 删除一个正在等待的计划任务
格式:atrm 任务号

at计划任务依赖于atd:

[root@my ~]# systemctl status atdatd.service - Job spooling tools
   Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled)
   Active: active (running) since Sat 2017-10-21 07:51:33 CST; 22h ago
 Main PID: 958 (atd)   CGroup: /system.slice/atd.service
           ?..958 /usr/sbin/atd -f

Oct 21 07:51:33 my.912616.com systemd[1]: Started Job spooling tools.
[root@my ~]#

删除at计划任务

[root@my ~]# atq #查询当前等待执行的计划任务1   Sun Oct 22 12:14:00 2017 a root
[root@my ~]# atrm 1[root@my ~]#

1.2 限制

编辑/etc/at.deny,限制用户使用at做计划任务:

at.deny.jpg

[root@my ~]# su - mycms5Last login: Sun Oct 22 05:52:38 CST 2017 from 192.168.137.3 on pts/0[mycms5@rhel7 ~]$ at 12:25You do not have permission to use at.
[mycms5@rhel7 ~]$

2. crontab

linux系统里,可以使用crontab制定管理计划任务时间表。

  • crontab -e 编辑当前用户的计划任务时间表

  • crontab -l  列出当前用户的计划任务时间表

  • crontab -r  删除当前用户的计划任务时间表

  • crontab -u username < -e | -l | -r > 以某一个用户的身份管理

  • man 5 crontab 查看crontab帮助信息

时间表配置文件的格式:

[root@my ~]# cat /etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root# For details see man 4 crontabs# 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

时间数值的特殊表示方法:

  • *  表示该范围内的任意时间

  • - 表示间隔的多个不连续时间点

  • -  表示一个连续的时间范围

  • /  指定间隔的时间频率

示例:

  • 0   17   *   *   1-5             周一到周五每天17:00

  • 30  8    *   *    1,3,5         每周一、三、五的8点30分

  • 0 8-18/2 * * *     8点到18点之间每隔2小时

  • 0   *   */3  *    *                每隔3天

[root@rhel7 ~]# crontab -l20 13 * * sun    touch filename25 13 * * *      links www.chachabei.com/p/youjia_update
[root@rhel7 ~]# crontab -l  -u root20 13 * * sun    touch filename25 13 * * *      links www.chachabei.com/p/youjia_update0 7 * * *      links www.yto.cc
  • crontab -r  # 删除当前用户所有的计划任务

  • crontab -e  # 进入编辑状态,添加计划任务,或者使用vim的-d删除具体某条任务

2.2 限制crontab

vi /etc/cron.deny,把mycms5用户名写进去

cron.deny.jpg

然后切换到mycms5,发现mycms5已经没法使用crontab了:

[root@rhel7 ~]# su - mycms5Last login: Sun Oct 22 06:14:45 CST 2017 on pts/1[mycms5@rhel7 ~]$ crontab -e
You (mycms5) are not allowed to use this program (crontab)
See crontab(1) for more information
[mycms5@rhel7 ~]$



作者:IM余安
链接:https://www.jianshu.com/p/7255fa17ec70

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消