linux-计划任务

备注:此笔记总结于马哥课堂笔记

2015-09-16

linux-计划任务

定义:

所谓的计划任务自认为就是服务器每天都有访问压力大的时候和压力小的时候,而根据我们的日常维护所得出一般服务器夜里压力比较小,而我们比如在执行大的操作的时候必须要避开服务器业务高峰和服务器压力过大的时候,所以我们会选择在夜里做操作,而这些操作只是执行一条命令而已,我们为了我们亲身等到后半夜来执行命令,那么我们就用到了计划任务的功能,计划任务也就是一次性或者周期性执行的任务;那么这样linux就为我们准备了两种计划任务,一种是只会执行一次at计划任务和一种可以周期性执行的cron计划任务。

at计划任务

也就是一次性计划任务

用法:

at 选项 时间

时间分为:

绝对时间 所谓的绝对时间就是在几点几分或者哪一年几月的几号几时几分 格式为:HH:MM(15:23)   YY-MM-DD

相对时间 表达方式为now+minute(分钟)   hour(小时) day(天) week(星期)

模糊时间 midnight午夜  noon中午  等

示例:

选项:

-m 当计划任务执行结束后发邮件给用户

-l   查看用户计划

-d  删除用户计划

-c  查看at 计划的具体内容

-f   从指定的文件中读取要执行的作业

示例:

-f

我们在第一张图中提示我们没有启动Atd服务,所以我们在使用一次性计划任务的时候需要确保atd服务器是开启的,不然计划任务将不会执行,我们使用 service atd start 来启动,如下图:

上面我们说了一次性计划任务,但是我们有的时候一个任务需要它反复的去运行,那么我们就用到周期性任务计划了,我们称之为”Cron“

crontab周期性计划任务

备注:

cron 和at一样的都需要启动服务,而cron的服务则是crond,所以我们要向使用周期性计划任务时请确保crond是否开启,如不开启计划任务将不会被执行,我们使用 service crond start来开启, 然后使用chkconfig crond on来添加开机启动

示例:

周期性任务有两类:

1、系统cron任务;没有默认的运行用户身份,所以需要额外指定运行者

其运行任务在/etc/crontab   一般使用vim来编辑,一般不建议来进行操作

2、用户cron任务;由某个用户所提交;默认是以提交者的身份运行,所以无需额外指定运行者

其运行任务在/var/spool/cron/USERNAME下

crontab命令的作用和用法

作用:为用户维护周期性的计划任务

用法:crontab [选项]

-u 指定计划任务的用户,默认为当前用户,备注:只有root才能去指定其他用户。

-l  查看计划任务

-r  删除计划任务

-e 编辑计划任务

-i  使用-r删除任务时,要求用户确认删除

crontab计划任务格式含义如下图: 使用24小时制,分钟范围0~59,小时范围00~23,日期范围1~31,月范围为1~12 ,周范围为0~7(在这里0和7都可以表示为周日);

时间段的划分:

-   表示一段连续的时间  例:3-7 如果在分钟上就表示3-7分钟这个时间段上执行

, 表示若个不连续的时间   例:3,6,9 表示在每小时的第3分钟 第6分钟 第9分钟

/# 表示在有效范围的每多少时间,表示频率的 例:1-30/4 表示每小时的1-30分钟每4分钟执行一次 */4 则表示每4分钟执行一次

*   表示所有时间

/   表示间隔时间

示例: 5 */3 * * * /bin/echo "hello"  就表示每3小时第5分执行一次后面的命令

* */3 * * * /bin/echo "hello"  这就表示每3小时的每分钟都执行一次后面的命令了

所以我们想表示一个时间的每的话,就必须在比它小的单位上指定个时间。

示例:5 7 * * 1-5 /bin/echo "hello" 表示周一到周五每天的7点5分运行一次

其定义模式如下图,我们以系统定义为例:

时间: 2024-08-07 19:18:34

linux-计划任务的相关文章

25、Linux计划任务详解

Linux任务计划 相信每个人都有使用闹钟的习惯,比如提醒一次,工作日提醒,女朋友生日提醒(首先你要先有个女朋友),在设定闹钟之后,我们可以在设定的时间去提醒你做什么事情 Linux计划任务工具介绍 在各类系统上面都有计划任务功能,在linux上面主要两种工具,at和crontab at命令是专门来执行处理一次性的任务计划的 crontab可以根据定义的时间周期,循坏的去做一些事情 任务计划分类: 一次性的任务计划:只执行一次就结束 周期性的任务计划:每隔一定时间就去执行 at一次性任务 假如我

Linux计划任务at&batch&crontab

计划任务        执行一次某任务:at,batch        周期性运行某任务:crontab    1.at命令,只执行一次 at/atq/atrm/batch    at [option]... time        HH:MM[YYYY-mm-dd] //        noon,midnight,teatime //12:00,24:00,16:00        tomorrow HH:MM         now+#            UNIT:minutest,ho

Linux计划任务(转载)

Linux计划任务(转载) Linux的计划任务是系统管理方面的一个重要内容,是系统自动完成工作的一种实现方式,正因为有了计划任务,我们才可以完全实现系统管理的脚本化和自动化. 关于计划任务,Linux根据用户需要提供了两种服务,一种是atd服务,另一种是cron服务 1.atd服务 如果你的计划任务只要执行一次,那么就请你使atd服务.在默认情况下,Linux系统是开启了atd这个服务的.如果不确认你的Linux是否开启了atd服务,请使用下面这个命令查看: # /etc/init.d/atd

linux 计划任务(十)

[教程主题]: 计划任务 [1]at 在windows系统中,windows提供了计划任务这一功能,在控制面板 -< 性能与维护 -< 任务计划, 它的功能就是安排自动运行的任务. 通过'添加任务计划'的一步步引导,则可建立一个定时执行的任务. 在linux系统中你可能已经发现了为什么系统常常会自动的进行一些任务?这些任务到底是谁在支配他们工作的?在linux系统如果你想要让自己设计的备份程序可以自动在某个时间点开始在系统底下运行,而不需要手动来启动它,又该如何处置呢? 这些例行的工作可能又分

linux计划任务自动备份并ftp上传脚本

#!/bin/sh # 备份 #bak_dir=`date +%C%y%m%d%H%M` ##文件命名规则可以是时间 backup_dir=/home/IPTV4.9 ##存储备份文件路径 mkdir -p $backup_dir Ip_addr=`ifconfig \`route |grep default |awk '{print $8}'\` |grep Bcast |awk -F: '{print $2}' |awk '{print $1}'` Host_name=`hostname`

linux计划任务(二)

计划任务的授权 1.at任务 /etc/at.allow /etc/at.deny 2.crontab任务 /etc/cron.allow /etc/cron.deny [注:如果allow文件存在,则allow中的用户可以使用计划任务,allow文件不存在则去找deny文件,deny文件中的用户不可以使用计划任务] [注:如果allow和deny文件都不存在,则表示只有root用户可以使用] 计划任务的补救 anacron服务 延迟补救 如果计划任务执行失败 [[email protected

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

说明:Crontab是Linux系统中在固定时间执行某一个程序的工具,类似于Windows系统中的任务计划程序 下面通过详细实例来说明在Linux系统中如何使用Crontab 操作系统:CentOS 一.安装crontab yum install vixie-cron  #安装 chkconfig crond on  #设为开机启动,先要安装chkconfig(yum install chkconfig) service crond start  #启动 service crond stop  

学习Linux计划

决心书 我叫关万鑫(也可以叫我关鑫),今年22岁,学习也不太好,念完初二就不念了,爸妈在我14岁的时候离婚一直跟在老妈身边,这么些年老妈为我付出了太多太多,为我操碎了心, 总想回报她. 以前总是在工厂里干活,工厂里的活又脏又累,一天天造的每个孩子样.那个时候才18.9,厂里的人就说这么小的孩子怎么不学点什么,那个时候就感觉学什么啊,我的人生非常迷茫.(真的受够了工厂)在不经意的一天我的好哥们他跟我提起了老男孩,一开始还不相信能有那么高的工资还不累的工作,家里边也不是太富裕,开始的时候家里是拒绝的

Linux计划任务crontab运行脚本不正确的问题

问题的由来 写好的程序希望在崩溃之后能够自启动,于是利用linux的crontab功能,添加一个计划任务,每分钟执行一个脚本查看需要监控的进程是否还在,如果不在则启动之,否则不做任何事情.这么一个简单的脚本在crontab中运行和在shell终端手工运行的结果却不一样. 问题描述 以下是监控脚本/home/watch.sh的内容: #!/bin/sh shell_log_file=/home/start.log pid_count=`pidof video_checkup | wc -w` pa

linux计划任务详解

Linux任务计划,周期性任务执行 (我们以前已经提到过数据备份的概念了,假如在某种场景中我们需要做数据备份,将来我们可能遇到MySQL等各种各样的提供数据管理等相关的服务器程序数据,能够做数据备份,那就必然会用到这个功能.对于企业来讲最重要的是数据,数据备份是非常重要的,有的数据需要每1天或者每几个小时进行备份一次,比方说我们希望在凌晨的时候讲某个目录的数据复制一份,或者把某个临时目录比方说"/tmp"目录中的临时文件每多长时间都清理一次.这每一天都做的任务就叫周期性任务.像那种仅仅