Linux运维Linux学习之路我用 Linux

linux 之计划任务 at crontab

2017-10-22  本文已影响31人  我爱矿泉水

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 atd
atd.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 - mycms5
Last login: Sun Oct 22 05:52:38 CST 2017 from 192.168.137.3 on pts/0
[mycms5@rhel7 ~]$ at 12:25
You do not have permission to use at.
[mycms5@rhel7 ~]$

2. crontab

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

时间表配置文件的格式:

[root@my ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=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

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

示例:

[root@rhel7 ~]# crontab -l
20 13 * * sun    touch filename
25 13 * * *      links www.chachabei.com/p/youjia_update
[root@rhel7 ~]# crontab -l  -u root
20 13 * * sun    touch filename
25 13 * * *      links www.chachabei.com/p/youjia_update
0 7 * * *      links www.yto.cc

2.2 限制crontab

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

cron.deny.jpg

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

[root@rhel7 ~]# su - mycms5
Last 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 ~]$ 
上一篇下一篇

猜你喜欢

热点阅读