计划任务的意义

计划任务

  创建和管理在指定时间自动执行的任务

注意事项

  要使任务计划在指定时间自动运行,计划任务的服务必须是启动的

计划任务分类
  使用at命令调用atd进程设置在某个特定的时间,执行一次性任务
  使用crontab命令调用crond进程,设置按固定的周期(如每天、每周等)重复执行预先计划好的任务
 
 

一次性计划任务

at命令
  在指定的日期、时间点自动执行预先设置的一些命令操作,属于一次性计划任务
  系统服务的名称:/etc/init.d/atd
  设置格式:at [HH:MM] [yyyy-mm-dd]
 
atq命令
  用途:查询当前设置的at任务列表
  同at -l
atrm命令:
  用途:删除指定任务编号的at任务
  格式:atrm 编号
  同at -d
 
启动atd系统服务,并按Ctrl+D键提交任务
[root@localhost ~]# service atd start
启动 atd: [确定]
[root@localhost ~]# at 23:45
at> reboot
at> <EOT>
job 1 at 2009-09-14 23:45
[root@localhost ~]# atq
1 2009-09-14 23:45 a root

  

at -c 任务号
  查看计划任务的具体内容
  at命令常用时间格式:
  at [HH:MM]
  at [HH:MM] [yyyy-mm-dd]
  at now + 数字 [minutes|hours|days|weeks]
  at 时间 -f 文件
  使用文件中的命令作为计划任务
  at now + 5 minutes -f /root/test.sh
 
at计划任务文件位置
  /var/spool/at/a开头的文件
  任务执行完毕,文件消失
at计划任务文件位置
  /etc/at.deny :只有该名单里面的人不可以使用
  /etc/at.allow :只有该名单里面的人可以使用
 

周期计划任务

crontab命令
  按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作,属于周期性计划任务
  服务名称:/etc/init.d/crond
主要设置文件
  用户定义的设置,位于文件:/var/spool/cron/用户名
  配置文件的通常包含三个部分
  注释
  环境变量
  cron命令
 
 
cron服务配置文件
  位于文件:/etc/crontab
  系统cron就在该文件定义,是为了维护系统能够正常运行的,任务的格式也和用户cron有点不同,多了一个username
  crond计划任务里面的命令有时候可能不会执行,因为cron的环境变量PATH跟系统PATH不太一样,它的PATH的默认值为PATH=/sbin:/bin:/usr/sbin:/usr/bin,所以这就造成很多命令不能使用,所以解决的办法有两个,可以自己设定cron的PATH环境变量,也可以用命令的绝对路径,比如ls 我们可以使用 : /bin/ls
cron服务的日志文件
  位于文件:/var/log/cron
 
每小时、每天、每星期、每月定期执行的任务脚本分别存放在这些目录中
[root@localhost ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

  

管理cron计划任务
  编辑计划任务:crontab -e [-u 用户名]
  查看计划任务:crontab -l [-u 用户名]
  删除计划任务:crontab -r [-u 用户名]
                ————root用户可以管理指定用户的计划任务
                    普通用户只能管理自己的计划任务
 
时间数值的特殊表示方法
  * 表示该范围内的任意时间
  , 表示间隔的多个不连续时间点
  - 表示一个连续的时间范围
  /n 指定间隔的时间频率
应用示例
  0 17 * * 1- 5 周一到周五每天17:00
  30 8 * * 1,3,5 每周一、三、五的8点30分
  0 8-18 * * * 8点到18点整
  0 12 */3 * * 每隔3天的12点整
 
 
示例(root用户):
每天早上7:50自动开启sshd服务,22点50时关闭
每隔5天的12点整清空一次FTP服务器公共目录/var/ftp/pub
每周六的7:30时,重新启动httpd服务
每周一、三、五的17:30时,打包备份/etc/httpd目录
[root@localhost root]# crontab -l
50 7 * * * /sbin/service sshd start
50 22 * * * /sbin/service sshd stop
0 12 */5 * * /bin/rm -rf /var/ftp/pub/*
30 7 * * 6 /sbin/service httpd restart
30 17 * * 1,3,5 /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd
 

 

周期计划任务注意事项

  资源分配不均
  多个计划任务同时运行
  安全检查
  防止有非法计划任务
  周和日、月不可同时并存
  容易导致计划任务时间混乱

 

【Linux】计划任务的更多相关文章

  1. Linux计划任务Crontab实例详解教程

    说明:Crontab是Linux系统中在固定时间执行某一个程序的工具,类似于Windows系统中的任务计划程序 下面通过详细实例来说明在Linux系统中如何使用Crontab 操作系统:CentOS ...

  2. Linux计划任务(转载)

    Linux计划任务(转载) Linux的计划任务是系统管理方面的一个重要内容,是系统自动完成工作的一种实现方式,正因为有了计划任务,我们才可以完全实现系统管理的脚本化和自动化. 关于计划任务,Linu ...

  3. Linux 计划任务总结

    今天项目用到了,Linux计划任务,从网上找了基本blog看了,总结了下. Linux 下的计划任务有atd和crond两种计划任务.atd服务使用的at命令只能执行一次,而crond服务使用的cro ...

  4. Linux. 计划任务 时间格式

    Linux. 计划任务 时间格式 在linux中执行指令:cat /etc/crontab 结果,如下图所示: 结果一目了然,不多说. 如有问题,欢迎纠正!!! 如有转载,请标明源处:https:// ...

  5. Linux计划任务,自动删除n天前的旧文件

    Linux计划任务,自动删除n天前的旧文件 linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,但需求总是多方面的嘛-我就觉得让系统定时 ...

  6. Linux计划任务 定时任务 Crond 配置详解 crond计划任务调试 sh -x 详解 JAVA脚本环境变量定义

    一.Crond 是什么?(概述) crontab 是一款linux系统中的定时任务软件用于实现无人值守或后台定期执行及循环执行任务的脚本程序,在企业中使用的非常广泛.     现在开始学习linux计 ...

  7. 学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理

    目录 学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理 17.1 计划任务-at-cron-计划任务使用方法 17.1.1 at计划任务的使用 17.1.2 查看和删除at将要执行 ...

  8. linux计划crontab

    linux计划crontab 启动crontab服务 一般启动服务用  /sbin/service crond start 若是根用户的cron服务可以用 sudo service crond sta ...

  9. Linux计划任务.md

    crond crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程 ...

  10. Linux 计划任务 访问网页

    1.linux安装 [root@CentOS ~]# yum -y install vixie-cron[root@CentOS ~]# yum -y install crontabs 说明:vixi ...

随机推荐

  1. Flutter知识点:数据存储之sqflite

    sqflite是一款轻量级的关系型数据库,类似SQLite. 在Flutter平台我们使用sqflite库来同时支持Android 和iOS. 使用介绍 1.首选需要在pubspec.yaml 导入库 ...

  2. pytorch 文本输入处理

    https://blog.csdn.net/nlpuser/article/details/88067167 https://blog.csdn.net/u012436149/article/deta ...

  3. java笔记--重定向输出流实现程序输出到日志

    重定向输出流实现程序输出到日志 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3877248.html "谢谢-- 利用Sy ...

  4. 并发编程------->操作系统的发展

    手工操作 —— 穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式.此时还没有操作系统的概念. 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然 ...

  5. 沉淀再出发:Tomcat的实现原理

    沉淀再出发:Tomcat的实现原理 一.前言 在我们接触java之后,相信大家都编写过服务器程序,这个时候就需要用到Tomcat了.Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统 ...

  6. mysql 基础学习2

    1.修改表字段顺序 在 字段增加和修改语法(ADD/CHANGE/MODIFY)中,都有一个可选项first|after column_name,这个选项可以用来修改字段在表中的位置 默认ADD增加的 ...

  7. [EffectiveC++]item42:了解typename的双重意义

  8. echo 与 od -x 与 %!xxd 命令

    echo 与 od -x 与 %!xxd 命令 echo 命令 -n 选项  可以使其不带换行符od -x 命令可以查看文件的16进制表示%!xxd 可以在vim编辑器中dump成16进制表示

  9. [T-ARA][Cry Cry]

    歌词来源: Cry Cry:http://music.163.com/#/song?id=22704434 Cry Cry (Ballad Ver.):http://music.163.com/#/s ...

  10. BZOJ4321:queue2(DP)

    Description n 个沙茶,被编号 1~n.排完队之后,每个沙茶希望,自己的相邻的两人只要无一个人的编号和自己的编号相差为 1(+1 或-1)就行.现在想知道,存在多少方案满足沙茶们如此不苛刻 ...