其他分享
首页 > 其他分享> > 任务计划管理

任务计划管理

作者:互联网

1.任务计划

通过任务计划,可以让系统自动的按时间或周期性任务执行任务

1)环境准备:

yum -y install psotfix
systemctl enable --now psotfix

2)执行一次任务

周期性运行任务

 

2.at工具

1)查看当前要执行的任务

[root@centos7 ~]# at -l

2)修改配置文件/etc/at.deny可以使某用户禁止创建计划任务

例:

[root@centos7 ~]# vim /etc/at.deny 
wang

3)at命令用法:

at [option] TIME

4)注意:

5)删除指定的N号作业

at -d N

6)查看具体N任务

at -c N

7)at时间格式

    6pm Marth 17

    17:20 tommorrow

8)at执行方式

9)白名单:/etc/at.allow 默认不存在,只有该文件中的用户才能执行at命令,且优先级高于/etc/at.deny

10)启用atd服务

[root@centos7 ~]# systemctl start atd

 

3.周期性任务计划cron

1)启用crond服务

[root@centos7 ~]# systemctl start crond
[root@centos7 ~]# systemctl status crond
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2022-03-20 20:31:34 CST; 23min ago
 Main PID: 1037 (crond)
    Tasks: 1
   CGroup: /system.slice/crond.service
           └─1037 /usr/sbin/crond -n

Mar 20 20:31:34 centos7.localdomain systemd[1]: Started Command Scheduler.
Mar 20 20:31:34 centos7.localdomain crond[1037]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 73% if used.)
Mar 20 20:31:36 centos7.localdomain crond[1037]: (CRON) INFO (running with inotify support)

2)crontab --help

 

 3)计划任务cron的文件格式配置文件

[root@centos7 ~]# cat /etc/crontab 

 

 例:30 2 * * * #每天2:30

例:*/10 * * * * 每10分钟执行一次

例:0 2 1-5,10,20 1-6 0,6 

4)cron计划任务存放在/var/spool/cron中

 

 5)cron任务的PATH变量平时的不一样很少

例:

[root@centos7 cron]# crontab -e
* * * * * echo $PATH > /data/log

 

 这会导致很多命令不能被找到

解决方法一:

在脚本上加一个PATH变量

解决方法二:

在创建cron计划时将PATH加上

:r! echo $PATH

 

 

 

 6)删除计划任务

[root@centos7 cron]# crontab -r

7)设置以谁的身份执行cron

crontab -u wang -e

8)面试题:11月每天的6-12点之间每隔2小时执行/app/bin/test.sh

[root@centos8 ~]#crontab -l
0 6-12/2 * 11 * /app/bin/test.sh

9)注意:cron任务中不建议使用%,它有特殊用途它表示换行的特殊意义,且第一个%后的所有字符串会被当成命令的标准输入,如果在命令中要使用%,则需要\转义。

标签:centos7,20,管理,cron,任务,计划,root,crond
来源: https://www.cnblogs.com/weilanxuesre/p/16032306.html