计划任务

linux计划任务分为两种:

1、临时计划任务,从标准输入或一个指定的文件读取命令,这些命令在以后某个时间用 /bin/sh 执行。

  命令:at

  用法:at  选项  时间

  选项
    -l :查看at的任务列表 at -l
    -c :查看at任务的内容,用法:at -c 任务编号
    -d:删除at任务 at -d 任务编号
    退出at编辑模式,ctrl+d

    示例:[root@localhost ~]# at 10:00
       at> mkdir /dir1
       at> <EOT>

配置文件/etc/at.deny拒绝用户登录,/etc/at.allow 允用户登录许

vim /etc/at.deny
tom

[root@localhost /]# su - tom    

[tom@localhost ~]$ at 12:00

You do not have permission to use at.
[tom@localhost ~]$ exit
登出
[root@localhost /]# su - harry
[harry@localhost ~]$ at 12:00
at>

########################################################

 2、crond 循环性计划任务 周期性计划任务

  crontab 命令来管理计划任务

语法:
crontab 选项

-e:编辑计划任务
-u:指定用户
-l:查看计划任务
-r:删除计划任务(将全部计划任务删除)

注意:
1、crond服务任务循环时间最少精确到分钟,不能再少了
2、crontab编辑时,变量不生效

 crontab -e 进入了计划任务编辑模式,模式类似vim,使用vim方式直接编辑即可。

* * * * * 命令
分 时 日 月 周 任务
0-59 0-23 1-31 1-12 0-7

#特殊符号

*:表示每一天/任意一天
,:逗号,表示分隔时间。比如每天的3点2分和6点2分时候执行脚本1.sh 2 3,6 * * * 1.sh
-减号:表示连续的时间。 每天3点至6点,每小时的第2分钟,执行脚本 2 3-6 * * * 1.sh
/斜线:表示每隔多长时间。 每两个小时 第2分钟。 2 */2 * * * 1.sh

例子:

#每天的11:34分时候。在根目录下创建一个file10

34 11 * * * /usr/bin/touch /file10

#每7天 凌晨2:10分,执行脚本2.sh

10 2 */7 * * /2.sh

#每周一的,早上6:10 执行脚本 /2.sh

 10 6 * * 1

#每5分钟执行一次

*/5 * * * *

#每天9:30分时候,以当前时间(年月日),创建一个文件

vim 1.sh
#!/bin/bash #shell解释器是bash
touch /opt/$(date +%Y%m%d) #内容

原文地址:https://www.cnblogs.com/Stephen-blog/p/10458219.html