当前位置:文档之家› Linux定时任务设置

Linux定时任务设置

Linux定时任务设置
Linux定时任务设置

Linux 下定时任务设置

文章分类:操作系统

为当前用户创建cron服务

1. 键入crontab -e 编辑crontab服务文件

例如文件内容如下:

*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh

保存文件并并退出

*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh

*/2 * * * * 通过这段字段可以设定什么时候执行脚本

/bin/sh /home/admin/jiaoben/buy/deleteFile.sh 这一字段可以设定你要执行的脚本,这里要注意一下bin/sh 是指运行脚本的命令后面一段时指脚本存放的路径

2. 查看该用户下的crontab服务是否创建成功,用crontab -l命令

3. 启动crontab服务

一般启动服务用/sbin/service crond start 若是根用户的cron服务可以用sudo service crond start,这里还是要注意下不同版本linux系统启动的服务的命令也不同,像我的虚拟机里只需用sudo service cron restart 即可,若是在根用下直接键入service cron start 就能启动服务

4. 查看服务是否已经运行用ps -ax | grep cron

5. crontab命令

cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

crontab -l //列出某个用户cron服务的详细内容

crontab -r //删除没个用户的cron服务

crontab -e //编辑某个用户的cron服务

比如说root查看自己的cron设置:crontab -u root -l

再例如,root想删除fred的cron设置:crontab -u fred -r

在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e

进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt

任务调度的crond常驻命令

crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此

任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工

作便会自动执行该工作。

6. crontab命令选项:

-u指定一个用户

-l列出某个用户的任务计划

-r删除某个用户的任务

-e编辑某个用户的任务

7. cron文件语法:

分小时日月星期命令

0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)

记住几个特殊符号的含义:

“*”代表取值范围内的数字,

“/”代表”每”,

“-”代表从某个数字到某个数字,

“,”分开几个离散的数字

8. 任务调度设置文件的写法

可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件

具体格式如下:

Minute Hour Day Month Dayofweek command

分钟小时天月天每星期命令

每个字段代表的含义如下:

Minute 每个小时的第几分钟执行该任务

Hour 每天的第几个小时执行该任务

Day 每月的第几天执行该任务

Month 每年的第几个月执行该任务

DayOfWeek 每周的第几天执行该任务

Command 指定要执行的程序

在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选

字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。举例如下:

5 * * * * ls 指定每小时的第5分钟执行一次ls命令

30 5 * * * ls 指定每天的5:30 执行ls命令

30 7 8 * * ls 指定每月8号的7:30分执行ls命令

30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令

30 6 * * 0 ls 指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,

以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]

30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]

25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]

*/15 * * * * ls 每15分钟执行一次ls命令[即每个小时的第0 15 30

45 60分钟执行ls命令]

30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls 命令。]

每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件

50 7 * * * root run-parts /etc/cron.daily [ 注:run-parts参数表示,执行后面目录中的所有可执行文件。]

9. 新增调度任务

新增调度任务可用两种方法:

1)、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。

2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。

10. 查看调度任务

crontab -l //列出当前的所有调度任务

crontab -l -u jp //列出用户jp的所有调度任务

11. 删除任务调度工作

crontab -r //删除所有任务调度工作

12. 任务调度执行结果的转向

例1:每天5:30执行ls命令,并把结果输出到/jp/test文件中

30 5 * * * ls >/jp/test 2>&1

注:2>&1 表示执行结果及错误信息。

编辑/etc/crontab 文件配置cron

cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc /crontab 是针对系统的任务。此文件的文件格式是:

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号

HOME=/ //使用者运行的路径,这里是根目录

# run-parts

01 * * * * root run-parts /etc/cron.hourly //每小时执行

/etc/cron.hourly内的脚本

02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本

22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行

/etc/cron.weekly内的脚本

42 4 1 * * root run-parts /etc/cron.monthly //每月去执行

/etc/cron.monthly内的脚本

大家注意”run-parts”这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了

例如:

1) 在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。

2)直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务11 2 21 10 * rm -rf /mnt/fb

linux下种定时执行任务方法

(1)at命令 假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了。 设置at命令很简单,指示定运行的时间,那么就会在哪个时候运行。at类似打印进程,会把任务放到/var/spool/at目录中,到指定时间运行它。at命令相当于另一个shell,运行at time命令时,它发送一个个命令,可以输入任意命令或者程序。at now + time命令可以在指示任务。 假设处理一个大型数据库,要在别人不用系统时去处理数据,比如凌晨3点10分。那么我们就应该先建立/home/kyle/do_job脚本管理数据库,计划处理/home/kyle/do_job文件中的结果。正常方式是这样启动下列命令: # at 2:05 tomorrow at>/home/kyle/do_job at> Ctrl+D AT Time中的时间表示方法 ----------------------------------------------------------------------- 时间例子说明 ----------------------------------------------------------------------- Minute at now + 5 minutes任务在5分钟后运行 Hour at now + 1 hour任务在1小时后运行 Days at now + 3 days任务在3天后运行 Weeks at now + 2 weeks任务在两周后运行 Fixed at midnight任务在午夜运行 Fixed at 10:30pm任务在晚上10点30分 注意:一定要检查一下atq的服务是否启动,有些操作系统未必是默认启动的,linux 默认为不启动,而ubuntu默认为启动的。检查是否启动,用service atd检查语法,用service atd status检查atd的状态,用service atd start启动atd服务。 查看at执行的具体内容:一般位于/var/spool/at目录下面,用vi打开,在最后一部分

Linux下crontab命令的用法

Linux下crontab命令的用法 任务调度的crond常驻命令 crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而linux任务调度的工作主要分为以下两类: 1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存 2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置 Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中: 文件 含义 /etc/cron.deny 该文件中所列的用户不允许使用Crontab命令 /etc/cron.allow 该文件中所列的用户允许使用Crontab命令 /var/spool/cron/ 是所有用户的crontab文件 /var/spool/cron/crontabs /var/spool/cron/crontabs Crontab命令的格式为:crontab –l|-r|-e|-i [username],其参数含义如表一: 参数名称 含义 示例 -l 显示用户的Crontab文件的内容 crontabl –l -i

删除用户的Crontab文件前给提示 crontabl -ri -r 从Crontab目录中删除用户的Crontab文件 crontabl -r -e 编辑用户的Crontab文件 crontabl -e 用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段, 格式如下:* * * * * 其时间段的含义如表二: 段 含义 取值范围 第一段 代表分钟 0—59 第二段 代表小时 0—23 第三段 代表日期

Linux下定时执行脚本

Linux下定时执行脚本 今天做了个数据库的备份脚本,顺便系统得学习一下Linux下定时执行脚本的设置。Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面嘛),但是也不是非常复杂,基本上用过一遍就能记住了,关键是要记住/var/spool/cron这个目录。下面看一下具体的用法: 首先查看一下/etc/crontab文件: $ 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任务运行的环境变量。SHELL变量的值指定系统使用的SHELL环境(该样例为bash shell),PATH变量定义了执行命令的路径。Cron的输出以电子邮件的形式发给MAILTO变量定义的用户名。如果MAILTO变量定义为空字符串(MAILTO=""),电子邮件不会被发送。执行命令或脚本时HOME变量可用来设置基目录。 文件/etc/crontab中每行任务的描述格式如下: minute hour day month dayofweek command minute - 从0到59的整数 hour - 从0到23的整数 day - 从1到31的整数 (必须是指定月份的有效日期) month - 从1到12的整数 (或如Jan或Feb简写的月份)

Linux操作系统实验二

实验报告 2016 至2017 学年第二学期

1.crontab帮助信息 usage: crontab [-u user] file crontab [ -u user ] [ -i ] { -e | -l | -r } (default operation is replace, per 1003.2) -e (edit user's crontab) -l (list user's crontab) -r (delete user's crontab) -i (prompt before deleting user's crontab) 2.查看用户的计划任务列表 命令:crontal -l 如图,当前用户为cyril,还没有计划任务。 3.建立计划任务 命令:crontal –e 为当前用户建立计划任务,如果为其他用户建立计划任务需要使用-u参数指定。 执行命令后会打开一个由EDITOR变量指定的编辑器如vim,在其中写好计划任务保存后,终端回显:crontab: installing new crontab 编辑计划任务时,格式为: *****command 分时日月周命令 其中*/5 这样的格式表示“每5(分钟、小时…)”

这里我先写了一个脚本,用来在/tmp目录下创建文件,脚本内容如下: 然后创建计划任务来每隔一分钟运行这个脚本,如下图: 现在再查看一下任务列表:

查看脚本的执行情况: 如图,显示了7个由计划任务调用脚本创建的文件。20170424-16:48.txt 20170424-16:49.txt 20170424-16:50.txt 20170424-16:51.txt

linux定时执行crontab

linux定时执行crontab 2009-11-18 作者:编辑:闫蕊点击进入论坛 关键词:linux crontab -e 进入一个vi 编辑界面 在最后一行加上 */30 * * * * netstat > /tmp/net.log 表示每隔30分就执行netstat命令,并把执行结果存入net.log中。 Crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序 使用cron服务,用service crond status 查看cron服务状态,如果没有启动则service crond start启动它, cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务: crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -l //列出某个用户cron服务的详细内容 crontab -r //删除没个用户的cron服务 crontab -e //编辑某个用户的cron服务 比如说root查看自己的cron设置:crontab -u root -l 再例如,root想删除fred的cron设置:crontab -u fred -r 在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e 进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt 编辑/etc/crontab文件,在末尾加上一行:30 5 * * * root init 6 这样就将系统配置为了每天早上5点30自动重新启动。

一种分布式系统中定时任务的解决思路和框架

一种分布式系统中定时任务的解决思路和框架 在分布式系统中,经常有周期性地执行数据采集、统计、推送等等的场景。一个业务系统的后台可能存在很多不同种类、不同粒度的周期性任务,而且它们分布在不同的服务器节点中执行。 业界比较常见的解决思路: 1. 利用linux crontab或windows计划任务定时执行一段脚本或程序; 2. 自编程序中实现定时器,定时触发相关任务的执行; 但是上述方案在碰到有大量的、不同粒度的定时任务时会碰到问题: 1. 如何解决高可用? 2. 如何支持水平扩展? 显然如果我们仅在一个服务器节点上起定时器势必形成单点。那么如果简单地在多台服务器节点上起服务呢?那么同样的任务会被执行多次,虽解决了单点问题,但一次任务被执行多次势必造成性能的浪费,且当业务压力增大时无法进行水平扩展;同时,有些业务在同一时刻不能同时执行,这涉及锁的问题。 下面给出一个比较通用的分布式系统中的定时任务的执行框架实现: 1. 将定时任务触发器进行抽象成可独立部署的分布式定时服务Jobschedular 不是抽象成程序模块,而是可独立部署的分布式定时服务。该服务通过配置可支持不同种类、针对不同对象粒度、不同执行周期的定时性计划任务。 Jobschedular根据计划任务的定义,周期性地触发针对某个对象的作业(jo b)。Jobschedular自身采用主备方式实现高可用,由于它本身只负责产生job,不负责执行job,因此不会用性能压力,没有水平扩展的需求。 2. 通过redis分布式队列分发定时作业 Jobschedular定时生成的作业统一发送到作为分布式队列角色的redis服务器中。Jobschedular和redis之间可通过LVS实现负责均衡和高可用,也可以让Jobschedular随机写入到redis集群中的任意redis节点中。 3. 一组jobexecuter负责执行job

linux下自动化任务的例子——定时播放音乐

linux下自动化任务的例子 在linux系统中实现作业的自动化是非常便利的。 比较常用的是Cron服务的crontab这个命令。 ?一个具体的任务列表 这个是学校室外广播的自动程序,只用了?一台被废弃的塞羊800的学生机,安装的系统是红旗linux,其他的linux、FreeBSD、unix或者是MacOS都可以。 将Cron设为自动运行。 chkcon?g –level 35 crond on 进入系统终端 键入: crontab -u caizhongyi -e (crontab为命令,“-u cai”是指定执行作业的系统用户为cai,“-e”使用crontab自己的vi编辑器,防止出现编码或系统环境问题造成的错误)然后在编辑器(vi编辑器)中输入如下命令: 0 7 * * 1 mpg123 -q /home/cai/guangbo/001.mp3 21 8 * * 1 mpg123 -q /home/cai/guangbo/11.mp3 21 8 * * 2 mpg123 -q /home/cai/guangbo/21.mp3 21 8 * * 3 mpg123 -q /home/cai/guangbo/31.mp3 21 8 * * 4 mpg123 -q /home/cai/guangbo/41.mp3 21 8 * * 5 mpg123 -q /home/cai/guangbo/51.mp3 16 9 * * 2 mpg123 -q /home/cai/guangbo/212.mp3 16 9 * * 3 mpg123 -q /home/cai/guangbo/312.mp3 16 9 * * 4 mpg123 -q /home/cai/guangbo/412.mp3 16 9 * * 5 mpg123 -q /home/cai/guangbo/512.mp3 25 10 * * 1 mpg123 -q /home/cai/guangbo/12.mp3 25 10 * * 2 mpg123 -q /home/cai/guangbo/22.mp3 25 10 * * 3 mpg123 -q /home/cai/guangbo/32.mp3 25 10 * * 4 mpg123 -q /home/cai/guangbo/42.mp3

Linux进程和计划任务管理实验报告

[root@localhost ~]# ps 显示当前用户会话中打开的进程 PID TTY TIME CMD 4321 pts/1 00:00:00 bash 4420 pts/1 00:00:00 ps [root@localhost ~]# ps aux 以简单列表的形式显示出所有进程信息 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 2072 664 ? Ss 15:43 0:00 init [5] root 2 0.0 0.0 0 0 ? S< 15:43 0:00 [migration/0] root 3 0.0 0.0 0 0 ? SN 15:43 0:00 [ksoftirqd/0] root 4 0.0 0.0 0 0 ? S< 15:43 0:00 [watchdog/0] root 5 0.0 0.0 0 0 ? S< 15:43 0:00 [events/0] [root@localhost ~]# ps -elf 以长格式显示系统中所有的进程信息 F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 4 S root 1 0 0 7 5 0 - 518 - 15:43 ? 00:00:00 init 1 S root 2 1 0 -40 - - 0 migrat 15:4 3 ? 00:00:00 [mig] 1 S root 3 1 0 94 19 - 0 ksofti 15:43 ? 00:00:00 [kso] [root@localhost ~]# ps aux | grep bash 过滤出包含bash的进程信息 root 4064 0.0 0.1 6504 628 ? Ss 15:45 0:00 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "/usr/bin/dbus-launch --exit-with-session /etc/X11/xinit/Xclients" root 4321 0.0 0.4 5640 1504 pts/1 Ss 15:46 0:00 bash root 4672 0.0 0.1 5020 696 pts/1 R+ 16:01 0:00 grep bash [root@localhost ~]# top 查看进程动态信息 top - 16:04:42 up 20 min, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 120 total, 2 running, 116 sleeping, 0 stopped, 2 zombie Cpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 360884k total, 354720k used, 6164k free, 14852k buffers Swap: 1052248k total, 0k used, 1052248k free, 209276k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4230 root 20 0 39864 20m 10m S 0.0 5.9 0:00.15 puplet 4158 root 15 0 128m 20m 16m S 0.0 5.8 0:01.07 vmtoolsd [root@localhost ~]# pgrep -l "log" 查询进程名中包含log的进程及其PID号2987 syslogd 2990 klogd [root@localhost ~]# pgrep -l -U root -t tty1 查询用户root在tty1终端上运行的进程及PID号 3583 mingetty

Spring提供的三种定时任务机制及其比较

Spring提供的三种定时任务机制及其比较 定时任务的需求在众多应用系统中广泛存在,在Spring中,我们可以使用三种不同的定时机制,下面一一描述并加以比较 1. 基于Quartz的定时机制

下面详细解释这个类图中涉及的关键类及其使用场景 1.1. SchedulerFactoryBean 这是Spring中基于Quartz的定时机制入口,只要Spring容器装载了这个类,Quartz定时机制就会启动,并加载定义在这个类中的所有trigger Spring配置范例: [xhtml]view plaincopy 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 1.2. CronTriggerBean 实现了Trigger接口,基于Cron表达式的触发器 这种触发器的好处是表达式与linux下的crontab一致,能够满足非常复杂的定时需求,也容易配置

Spring配置范例: [xhtml]view plaincopy 1. 2. 3. 4. 1.3. SimpleTriggerBean 该类也实现了Trigger接口,基于配置的定时调度 这个触发器的优点在于很容易配置一个简单的定时调度策略 Spring配置范例: [xhtml]view plaincopy 1. 2. 3. 4. 5. 6.3600000 7. 8. 9.86400000 10. 11.

Linux的crontab命令

linux定时运行命令脚本——crontab 分类:Linux/Shell2011-09-24 11:12 12787人阅读评论(0) 收藏举报 Linux中,周期执行的任务一般由cron这个守护进程来处理 ps -ef | grep cron cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。 cron的配置文件称为“crontab”,是“cron table”的简写。 一、cron在3个地方查找配置文件(设置shell脚本): 1、/var/spool/cron/yanggang 这个目录下存放的是每个用户(包括root)的crontab任务,每个任务以创建者的名字命名,比如用户tom建的crontab任务对应的文件就是/var/spool/cron/tom yanggang@barry$ sudo ls -l /var/spool/cron/(或有时 是 /var/spool/cron/crontabs/) -rw------- 1 root crontab 1071 2011-09-19 17:20 root -rw------- 1 yanggang crontab 1176 2011-09-24 11:07 yanggang 一般一个用户最多只有一个crontab文件(如:root, yanggang等),其对应日志在/var/spool/mail/root(或/var/spool/mail/yanggang)文件里 2、/etc/crontab这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR #sun,mon,tue,wed,thu,fri,sat # | | | | |

Linux定时任务设置

Linux 下定时任务设置 文章分类:操作系统 为当前用户创建cron服务 1. 键入crontab -e 编辑crontab服务文件 例如文件内容如下: */2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh 保存文件并并退出 */2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh */2 * * * * 通过这段字段可以设定什么时候执行脚本 /bin/sh /home/admin/jiaoben/buy/deleteFile.sh 这一字段可以设定你要执行的脚本,这里要注意一下bin/sh 是指运行脚本的命令后面一段时指脚本存放的路径 2. 查看该用户下的crontab服务是否创建成功,用crontab -l命令 3. 启动crontab服务 一般启动服务用/sbin/service crond start 若是根用户的cron服务可以用sudo service crond start,这里还是要注意下不同版本linux系统启动的服务的命令也不同,像我的虚拟机里只需用sudo service cron restart 即可,若是在根用下直接键入service cron start 就能启动服务

4. 查看服务是否已经运行用ps -ax | grep cron 5. crontab命令 cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明: crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -l //列出某个用户cron服务的详细内容 crontab -r //删除没个用户的cron服务 crontab -e //编辑某个用户的cron服务 比如说root查看自己的cron设置:crontab -u root -l 再例如,root想删除fred的cron设置:crontab -u fred -r 在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e 进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt 任务调度的crond常驻命令 crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此 任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工 作便会自动执行该工作。

linux下种定时执行任务方法

(1)at 命令 假如我们只是想要让特定任务运行一次,那么,这时候就要用到at 监控程序了。 设置at 命令很简单,指示定运行的时间,那么就会在哪个时候运行。at 类似打印进程,会把任务放到/var/spool/at 目录中,到指定时间运行它。at 命令相当于另一个shell ,运行at time 命令时,它发送一个个命令,可以输入任意命令或者程序。at now + time 命令可以 在指示任务。 假设处理一个大型数据库,要在别人不用系统时去处理数据,比如凌晨3 点10 分。那么我们就应该先建立/home/kyle/do_job 脚本管理数据库,计划处理/home/kyle/do_job 文件中的结果。正常方式是这样启动下列命令: # at 2:05 tomorrow at>/home/kyle/do_job at> Ctrl+D AT Time 中的时间表示方法 时间例子说明 Minute at now + 5 minutes任务在 5 分钟后运行 Hour at now + 1 hour 任务在 1 小时后运行 Days at now + 3 days任务在3 天后运行 Weeks at now + 2 weeks 任务在两周后运行 Fixed at midnight任务在午夜运行 Fixed at 10:30pm 任务在晚上10 点30 分 注意:一 默认为不启定要检查一下atq 的服务是否启动,有些操作系统未必是默认启动的, 而ubuntu 默认为启动的。检查是否启动,用service atd 检查语法, linux 用 service atd status 检查atd 的状态,用service atd start 启动atd 服务。 查看at 执行的具体内容:一般位于/var/spool/at 目录下面,用vi 打开,在最后一部分

Linux实验八 计划任务管理

实验八计划任务管理 一、实验内容:使用at和cron服务实现Linux进程调度方法。 二、具体步骤 (一) 通过at命令实现计划任务 1、2分钟后执行/bin/date 2、2009-11-7 晚上7:00提示"今天我们学习计划任务",将提示信息输出到/lx/ 3、查找系统中任何以c为后缀名的文档,将将结果保存到/lx/findc文件中,指定时间为2009年12月28日下午1点 4、将第3题的命令写到/lx/findjob中,使用at命令执行,并将结果保存到 /lx/findfc中,指定时间为当前时间后的3分钟 5、at命令实现今晚23:00定时关机 6、at命令实现在3天后统计/etc/inittab文件的行数,将统计结果送至

/lx/initline文件中 7、列出现有的所有at任务,并记下相关信息(提示:atq命令) 8、删除某at任务,并进行查看是否删除(提示:atrm 任务号命令) (二) 通过cron命令实现计划任务 1、使用cron命令实现下午12月每天下午1:00点系统进行维护状态,重新启动系统 2、使用cron命令实现在11月20日星期5的20点30分查看/etc/passwd 内容,将将查看结果送至/lx/passtext

3、使用cron命令实现每周一至周五3点钟,在目录/home中,查找文件名为*.c,且是4天内的修改过的文件,对满足该条件的文件进行删除。 4、查看当前的crontab文件 5、删除用户liyang的crontab文件 7、6、使用cron实现每天的3点30备份/etc目录,将备份文件保存 /lx/ 将(6)题进行扩展,要求保存的文件的名称为/lx/etc+年月日.,其它要求不变.

linux定时任务详细说明

Linux 定时任务 fileclear.sh tamcdir=${HOME}/ora/user_projects/domains/tamc cd ${tamcdir} echorm-f `ls heapdump*.phd` rm-f heapdump*.phd echorm-f `ls javacore*.txt` rm-f javacore*.txt echorm-f `ls Snap*.trc` rm-f Snap*.trc cd bin echocp/dev/null nuhup.out cp/dev/null nuhup.out cd ${tamcdir}/pxbak echorm-rf `ls20*` rm-rf 20* cd ${tamcdir}/webapps/tamcx/fileLoad echorm-f `find/weblogic/ora/user_projects/domains/tamc/webapps/tamcx/fileLoad/ -mtime +1` find/weblogic/ora/user_projects/domains/tamc/webapps/tamcx/fileLoad/ -mtime +1 -exec rm-f {} \; task.crontab #web服务端日志、临时文件清理 101* * * ksh $HOME/tools/clearweblogic.sh>>/weblogic/ora/user_projects/domai ns/tamc/webapps/tamcx/log/crontab.log 2>>/weblogic/ora/user_projects/domains/ta mc/webapps/tamcx/log/crontab.log task.null.crontab是一个没有内容的空文件 开启定时任务 crontab /weblogic/tools/task.crontab 停止定时任务 crontab /weblogic/tools/task.null.crontab crontab [-u username] [-l|-e|-r]

使用crond 在linux中定时执行任务

使用crond 在linux中定时执行任务 定期运行程序或者脚本是管理员要面临一个很普遍的问题 一、 使用crond监控程序运行程序 1. 使用cron来定期执行任务 使用crond (cron监控程序)来定期运行一些任务,比如备份日志、数据库、把日志发送到自己邮箱等等操作都可以又定期运行程序来完成。crond是个脚本,每次Linux启动的时候都自动起到该脚本,该脚本是/etc/rc.d/init.d 下面的,每次系统启动的时候就自动会启动该目录下的脚本。 cron有两个配置文件,一个/etc/crontab,是一个全局配置文件,一组是crontab命令生成生成的配置文件,是属于用户级的。 一般对管理员来说,只要使用全局配置的/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 我们稍微来分析一下这个文件: /* 设置基于shell来运行,我们这里是基于bash shell */ SHELL=/bin/bash /* 指定目录中有此文件的命令时,不需要完整目录路经 */ PATH=/sbin:/bin:/usr/sbin:/usr/bin /* 使用cron实际工作时,将通过邮件来通知root用户 */ MAILTO=root /* 与/etc/crontab配置文件相关的主目录为根目录 */

linux定时器和Jiffies

1.linux HZ Linux核心几个重要跟时间有关的名词或变数,以下将介绍HZ、tick与jiffies。 HZ Linux核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timer interrupts。举例来说,HZ为1000,代表每秒有1000次timer interrupts。 HZ可在编译核心时设定,如下所示(以核心版本 adrian@adrian-desktop:~$ cd /usr/src/linux adrian@adrian-desktop:/usr/src/linux$ make menuconfig Processor type and features ---> Timer frequency (250 HZ) ---> 其中HZ可设定100、250、300或1000。 小实验 观察/proc/interrupt的timer中断次数,并于一秒后再次观察其值。理论上,两者应该相差250左右。 adrian@adrian-desktop:~$ cat /proc/interrupts | grep timer && sleep 1 && cat /proc/interrupts | grep timer 0: 9309306 IO-APIC-edge timer 0: 9309562 IO-APIC-edge timer 上面四个栏位分别为中断号码、CPU中断次数、PIC与装置名称。

要检查系统上HZ的值是什么,就执行命令 cat kernel/.config | grep '^CONFIG_HZ=' 2.Tick Tick是HZ的倒数,意即timer interrupt每发生一次中断的时间。如HZ为250时,tick为4毫秒(millisecond)。 3.Jiffies Jiffies为Linux核心变数(unsigned long),它被用来记录系统自开机以来,已经过了多少tick。每发生一次timer interrupt,Jiffies变数会被加一。值得注意的是,Jiffies于系统开机时,并非初始化成零,而是被设为-300*HZ (arch/i386/kernel/time.c),即代表系统于开机五分钟后,jiffies 便会溢位。那溢位怎么办?事实上,Linux核心定义几个macro(timer_after、time_after_eq、time_before与time_before_eq),即便是溢位,也能借由这几个macro正确地取得jiffies的内容。 另外,80x86架构定义一个与jiffies相关的变数jiffies_64 ,此变数64位元,要等到此变数溢位可能要好几百万年。因此要等到溢位这刻发生应该很难吧。

Linux任务四

任务四: 1. 熟悉vi环境 先练习vi的所有命令(参考课本或者后面的vi常用命令列表),然后掌握几个常用的(在上课时已经指出),最后做如下的练习: 1. 请在/tmp 这个目录下建立一个名为zhangsan 的目录; 2. 进入/root 这个目录当中; 3. 将/etc/man.config 复制到本目录底下; 4. 使用vi 开启本目录下的man.config 这个文件; 5. 在vi 中设定一下行号; 6. 移动到第58 行,向右移动40 个字符,请问你看到的双引号内是什么目录? 7. 移动到第一行,并且向下搜寻一下“bzip2 ”这个字符串,请问他在第几行? 8. 接着下来,我要将50 到100 行之间的“小写man 字符串”改为“大写MAN 字符串”,并且一个一个挑选是否需要修改,如何下达指令?如果在挑选过程中一直按『y』,结果会在最后一行出现改变了几个man 呢? 9. 修改完之后,突然反悔了,要全部复原,有哪些方法? 10. 我要复制65 到73 这九行的内容(含有MANPATH_MAP),并且贴到最后一行之后; 11. 21 到42 行之间的开头为# 符号的批注数据我不要了,要如何删除? 12. 将这个文件另存成一个man.test.config 的文件名; 13. 去到第27 行,并且删除15 个字符,结果出现的第一个单字是什么? 14. 在第一行新增一行,该行内容输入“I am a student...”; 15. 储存后离开! 整个步骤可以如下显示: 1. 『mkdir /tmp/zhangsan』 2. 『cd /root』 3. 『cp /etc/man.config .』 4. 『vi man.config』 5. 『:set nu』然后你会在画面中看到左侧出现数字即为行号。 6. 先按下『58G』再按下『40→』会看到『/dir/bin/foo』这个字样在双引号内; 7. 先执行『1G』或『gg』后,直接输入『/bzip2』,则会去到第118 行才对! 8. 直接下达『:50,100s/man/MAN/gc 』即可!若一直按『y』最终会出现『在23 行内置换25 个字符串』的说明。 9. (1)简单的方法可以一直按『u 』回复到原始状态,(2)使用不储存离开『:q! 』之后,再重新读取一次该档案; 10. 『65G』然后再『9yy 』之后最后一行会出现『复制九行』之类的说明字样。按下『G 』到最后一行,再给他『p 』贴上九行! 11. 因为21~42 22 行,因此『21G 』→『22dd 』就能删除22 行,此时你会发现游标所在21 行的地方变成MANPATH 开头,批注的# 符号那几行都被删除了。 12. 『:w man.test.config 』,你会发现最后一行出现"man.test.config" [New].. 的字样。 13. 『27G』之后,再给他『15x 』即可删除15 个字符,出现『you 』的字样; 14. 先『1G 』去到第一行,然后按下大写的『O 』便新增一行且在插入模式;开始输入『I am a student...』后,按下[Esc]回到一般模式等待后续工作; 15. 『:wq』

Linux下crontab命令的用法

例:如果用户的Crontab文件的内容是:29 19 * * * echo its dinner time,则系统每天的19:29显示‘its dinner time’ 示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间): 1. 以普通用户登录linux系统(我用的是CentOS4.1) 2. $crontab –e 说明:系统默认的编辑器是VIM,如果不是请加上以下shell:

$EDITOR=vi $export EDITOR 3. 输入”*/1 * * * * date >> $HOME/test.txt”,save and exit VIM 4. $su root 5. $cd /etc/init.d 6. ./crond restart 下面看看看几个具体的例子: ● 0 */2 * * * /sbin/service httpd restart意思是每两个小时重启一次apache ● 50 7 * * * /sbin/service sshd start 意思是每天7:50开启ssh服务 ● 50 22 * * * /sbin/service sshd stop意思是每天22:50关闭ssh服务 ● 0 0 1,15 * * fsck /home每月1号和15号检查/home 磁盘 ● 1 * * * * /home/bruce/backup每小时的第一分执行/home/bruce/backup这个文件 ● 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。 ● 30 6 */10 * * ls意思是每月的1、11、21、31日是的6:30执行一次ls命令

Linux服务器配置课程教学大纲

Linux服务器配置课程教学大纲 一、课程的任务及性质 Linux是高性能,开放源代码的操作系统,具有广泛的网络应用领域。本课程目的是讲授Linux作为网络操作系统的应用、配置与管理技术,使学生掌握基于Linux系统的网络组建,调试和网络服务器配置的技能和方法。通过对Linux网络应用的学习,使学生对网络组建、网络服务器配置与应用有更全面的认识,能够进行Linux局域网、服务器的日常维护和远程管理,并对网络资源与通信进行有效的管理以提高网络性能,旨在培养面向计算机行业的Linux网络技术人才。 二、课程的教学目标 1、知识教学目标 ①理解Linux网络操作系统的概念;②了解Linux在网络中的应用与前景; ③理解网络服务器概念,理解Linux网络资源与通讯,了解Linux的多媒体技术;④理解交换空间的概念,以及计划任务和硬件驱动安装;⑤理解Linux网络资源的备份,提高Linux 网络的安全性能;⑥进一步认识Shell,以及Shell的应用和Shell编程;⑦Linux网络基础,理解远程管理与控制Linux网络的作用; ⑧深入理解网络配置命令与文件,以及Linux与其它操作系统系统的网络共享; ⑨DHCP服务器,DNS服务器,FTP服务器,SAMBA服务器 NFS服务器,VPN网络技术,WEB 服务器(APACHE技术),SQUID代理服务器,FIREWALL技术等的配置、管理与应用;⑩Linux 网络接入技术,Linux局域网组建与无盘Linux系统的网络应用。 2、能力培养目标 ①掌握Shell技术,以及Shell的应用和Shell驱动程序开发; ②掌握Linux网络基础知识,远程管理与控制Linux网络的方法与技术;④掌握网络配置命令与文件的编辑,Linux与其它系统系统的网络共享技术; ⑤掌握DHCP,DNS,FTP,SAMBA,NFS,VPN网络,WEB(APACHE),SQUID代理等服务器的配置、管理与应用; ⑥掌握Linux FIREWALL等安全技术与方法,及使用Linux下的多媒体技术。 3、思想教育目标 ①培养学生理论与实践相结合的能力,及实事求是的正确科学态度;②树立使用开源软件关乎国家与民族IT产业发展与未来的意识;③培养学生创新意识和敬业精神,支持国产开源软件产品。 三、教学内容及要求一、课程理论教学安排 1.Linux网络应用概述 Linux的网络应用现状Linux在网络应用中的特点 Linux的网络领域的发展前景 说明:1)了解Linux的在网络应用中的现状。 2)了解Linux在网络应用中的特点与发展。 2.Linux交换空间(swap)与计划任务 1) Linux交换空间概念与技术= 2) Linux swap的使用 3)计划任务的设置与启动 4) Linux计划任务的运行 说明:1)介绍Linux交换空间、计划任务的基本概念、作用。 2.Linux交换空间(swap)与计划任务 1) Linux交换空间概念与技术= 2) Linux swap的使用 3)计划任务的设置与启动 4) Linux计划任务的运行 说明:1)介绍Linux交换空间、计划任务的基本概念、作用。 2) 演示Linux交换空间、计划任务使用方法。 3)掌握Linux交换空间的设置、启动与运行控制。 3.Linux 硬件驱动的安装使用与SHELL编程 1)硬件驱动的安装与配置:显卡、网卡、声卡、打印机、扫描仪等 2)Linux SHELL编程基础 说明:1)掌握Linux硬件驱动的安装配置。

相关主题
文本预览
相关文档 最新文档