ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

任务计划管理

2022-03-20 22:04:44  阅读:165  来源: 互联网

标签:centos7 20 管理 cron 任务 计划 root crond


1.任务计划

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

1)环境准备:

yum -y install psotfix
systemctl enable --now psotfix

2)执行一次任务

  • at 指定时间,执行一次任务
  • batch 系统自行在空闲的时候执行一次任务

周期性运行任务

  • cron

 

2.at工具

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

[root@centos7 ~]# at -l

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

例:

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

3)at命令用法:

at [option] TIME

4)注意:

  • 作业执行命令的结果中的标准输出和错误以执行任务的用户身份发邮件通知给 root
  • 默认CentOS 8 最小化安装没有安装邮件服务,需要自行安装

5)删除指定的N号作业

at -d N

6)查看具体N任务

at -c N

7)at时间格式

  • HH:MM 在今日的HH:MM进行,若该时刻已过,则明天此时执行任务
  • HH:MM YYYY-MM-DD 规定在某年某月的某一天的时刻执行该任务
  • HH:MM[amlpm][Mouth][Date]

    6pm Marth 17

    17:20 tommorrow

8)at执行方式

  • 交互式
  • 输入重定向
  • at -f file 将任务写在文件里at -f执行

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有