Linux系统计划任务管理

  • 一.计划任务管理的概念
  • 二. 计划任务的分类
  • 三.at 一次性任务
  • 四.crontab 周期性任务设置 crontab命令
  • 1.crontab的配置文件和目录
  • 2.crontab 计划任务时间特殊表示方法
  • 3.使用crontab 命令管理用户的计划任务
  • 3.crontab 的黑白名单


一.计划任务管理的概念

配置在指定的时间,指定的日期执行预先计划好的系统管理任务(如定期备份,定期采集监测数据)

二. 计划任务的分类

1.一次性计划任务 通过at设置
2.周期性计划任务 通过crontab设置

三.at 一次性任务

at保存目录 /var/spool/at
邮件目录/var/spool/mail/

[root@localhost opt]# at 14:26    // 创建一个一次性任务在今日的14点26分进行
at> touch 88  设置任务 
at> touch 99   空格键继续设置第二个任务
at> <EOT>     //任务结束后按Ctrl +D 组合键提交
[root@localhost ~]# atq    查询计划任务队列
[root@localhost ~]# atrm  3   删除 任务    后面跟任务号
at  now +2min    2分钟过后
at  teatime   下午四点 
at   tomorrow   明天
at   +3day   3天后

四.crontab 周期性任务设置 crontab命令

按照预先设置的时间周期(分钟、小时、天.……)重复执行用户指定的命令操作属于周期性计划任务
主要设置文件
全局配置文件,位于文件:/etc/crontab
系统默认的设置,位于目录:/etc/cron.*/
用户定义的设置,位于文件:/varlspool/cron/用户名

1.crontab的配置文件和目录

/etc/crontab 系统任务配置文件

/etc/crontab 文件中设置是维护Linux 系统所需的任务,由系统及相关程序在安装时自动设置

centos7计划任务不被出发是什么问题_计划任务


centos7计划任务不被出发是什么问题_白名单_02

2.crontab 计划任务时间特殊表示方法

centos7计划任务不被出发是什么问题_白名单_03

3.使用crontab 命令管理用户的计划任务

crontab  -e   打开编辑计划任务列表
crontab  -u   指定所管理的用户
crontab  -l   显示计划任务
crontab  -r    删除计划任务列表

crontab 命令释义

50 8 * * * /usr/bin/systemctl start httpd  每天8点50 开启httpd服务
0 23 * * * /usr/bin/systemctl stop  httpd  每天23点关闭httpd 服务
0 0 */4 * * /usr/bin/rm -rf  /a/ 每隔4天删除a目录下的所有文件
30 9 * * 5  /usr/bin/systemctl  reload httpd  每个星期五的9点30 重载httpd服务
0 8 * * 1,3,5 /usr/bin/cp  -p /a/  每周的周一,周三,周五8点拷贝a目录下的所有文件
0 * * * 1-4   /usr/bin/cp -r /a  /opt/   周一到周四的任意整点时间拷贝a目录到/opt
[root@localhost ~]# crontab -l   显示计划任务
[root@localhost ~]# crontab -l  -u zhangsan   查询张三用户下的计划任务 
crontab -e  -u zhangsan   对张三的计划任务进行编辑
crontab -r  -u zhangsan  删除张三的计划任务

3.crontab 的黑白名单

/etc/cron.deny 黑名单,黑名单有无需创建
/etc/cron.allow 白名单 白名单没有需要自己创建
有allow看allow,有deny看deny, 既有allow又有deny,以allow优先,allow里有的用户才可以创建计划任务,其他用户不能创建