crontab命令详解
Python使用crontab模块设置和清除定时任务操作详解

Python使⽤crontab模块设置和清除定时任务操作详解本⽂实例讲述了Python使⽤crontab模块设置和清除定时任务操作。
分享给⼤家供⼤家参考,具体如下:centos7下安装Python的piproot⽤户使⽤yum install -y python-pip时会报如下错误:No package python-pip available Error:Nothing to do解决⽅法如下:⾸先安装epel扩展源:yum -y install epel-release更新完成之后,就可安装pip:yum -y install python-pip安装完成之后清除cache:yum clean all这是在root⽤户时使⽤的命令,当前⽤户如果不具有root权限,加上sudo。
在其他Linux类似centos衍⽣的发⾏版也可以⽤此⽅法解决。
安装python定时任务模块:pip install python-crontab安装成功:可成功import该模块[root@centos7 mnt]# pythonPython 2.7.5 (default, Jul 13 2018, 13:06:57)[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import crontab>>>封装⼀个类,⽤来新增和清除定时任务:# coding=utf-8from crontab import CronTabclass Crontab_Update(object):def __init__(self):# 创建当前⽤户的crontab,当然也可以创建其他⽤户的,但得有⾜够权限self.cron = CronTab(user=True)# self.cron = CronTab(user='website')def add_crontab_job(self, cmmand_line, time_str, commont_name, user):# 创建任务job = self.cron.new(command=cmmand_line)# 设置任务执⾏周期job.setall(time_str)# 给任务添加⼀个标识,给任务设置comment,这样就可以根据comment查询job.set_comment(commont_name)# 将crontab写⼊配置⽂件# self.cron.write()self.cron.write_to_user(user=user) # 指定⽤户,写⼊指定⽤户下的crontab任务def del_crontab_jobs(self, comment_name, user):# 根据comment查询,当时返回值是⼀个⽣成器对象,# 不能直接根据返回值判断任务是否存在,# 如果只是判断任务是否存在,可直接遍历my_user_cron.crons# jobs = self.cron.find_comment(commont_name)# 返回所有的定时任务,返回的是⼀个列表# a = self.cron.crons# print 'a = ', a# print 'len(a) = ', len(a)# 按comment清除定时任务# self.cron.remove_all(comment=comment_name)# 按comment清除多个定时任务,⼀次write即可self.cron.remove_all(comment=comment_name)self.cron.remove_all(comment=comment_name+ ' =')# 清除所有定时任务# self.cron.remove_all()# 写⼊配置⽂件# self.cron.write()self.cron.write_to_user(user=user) # 指定⽤户,删除指定⽤户下的crontab任务if __name__ == "__main__":print 'start --------'cmmand_line = "/usr/bin/python /mnt/print_time.py"time_str = "* * * * *"commont_name = "Test_Crontab_Job"user = "xue"# 创建⼀个实例crontab_update = Crontab_Update()# 调⽤函数新增⼀个crontab任务# print '&&&&&& add_crontab_job '# crontab_update.add_crontab_job(cmmand_line, time_str, commont_name, user)print '&&&&&& del_crontab_jobs 'crontab_update.del_crontab_jobs(commont_name, user)print 'end -------'定时任务执⾏的python脚本如下:print_time.py# coding=utf-8import datetime# datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")with open('/mnt/datetime_log.txt', 'a') as f:f.write(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")+"\n")f.close()设置定时任务后:下⾯可通过命令查看,是否创建成功:crontab -l结果如下:清除定时任务后:更多关于Python相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》希望本⽂所述对⼤家Python程序设计有所帮助。
linux上在指定时间段内每隔多少分钟自动执行任务计划crontab

总结
以上所述是小编给大家介绍的linux 上在指定时间段内每隔多少分钟自动执行任务计划crontab,希望对大家有所帮助,如果大 家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
在每天晚上2点到19和20点每2分钟执行一次
[root@dpm ~]# cat /tmp/logtest.txt 20191112-180001 20191112-180201 20191112-180401 20191112-180601 20191112-180801 20191112-181001 20191112-181201 20191112-181401 20191112-181601 20191112-181801 20191112-182001 20191112-182201 20191112-182401 20191112-182601 20191112-182801 20191112-183001 20191112-183201 20191112-183401 20191112-183601 20191112-183801 20191112-184002 20191112-184201 20191112-184401 20191112-184601 20191112-184801 20191112-185001 20191112-185201 20191112-185401 20191112-185601 20191112-185801 20191112-190001 20191112-190201 20191112-190401 20191112-190601 20191112-190801 20191112-191001 20191112-191201 20191112-191401 20191112-191601 20191112-191801 20191112-192001 20191112-192201 20191112-192401 20191112-192601 20191112-192802 20191112-193001 20191112-193201 20191112-193401 20191112-193601 20191112-193801 20191112-194001 20191112-194201 20191112-194401 20191112-194601 20191112-194801 20191112-195001 20191112-195201 20191112-195401 20191112-195601 20191112-195801
详解PHP实现定时任务的五种方法

详解PHP实现定时任务的五种方法PHP实现定时任务的五种方法:1. Cron表达式:Cron表达式是一种通过设置时间和日期来执行任务的方法。
在PHP中,可以使用Crontab类来生成和解析Cron表达式。
使用Cron表达式时,需要在服务器上设置一个Cron作业来执行PHP脚本。
脚本可以通过命令行或者HTTP请求来执行。
这种方法适用于在服务器上运行的任务。
2. sleep(函数:sleep(函数是PHP提供的一种简单的延时执行任务的方法。
可以将任务代码放在一个无限循环中,然后使用sleep(函数来定时执行任务。
比如,可以使用sleep(10)来使任务每隔10秒执行一次。
这种方法适用于简单的定时任务,但是会占用服务器资源。
3. JavaScript定时器:PHP可以和JavaScript一起使用来实现定时任务。
通过在PHP脚本中输出JavaScript代码,并使用定时器函数来执行任务。
比如,可以使用`setTimeout(`函数来实现延时执行任务,或者使用`setInterval(`函数来定时执行任务。
这种方法适用于在客户端上执行的任务。
4. pcntl_alarm(函数:PHP提供了一个pcntl扩展来处理进程相关的操作。
pcntl_alarm(函数可以在指定的时间后发送一个信号给进程,然后在信号处理函数中执行任务。
这种方法适用于在长时间运行的PHP脚本中执行定时任务。
5.第三方库:PHP有很多第三方库可以用来实现定时任务。
比如,Symfony的Process组件可以用来运行定时任务,Laravel的Task Scheduling可以用来定义和调度定时任务。
这些库提供了更高级的功能和更简洁的API,使得定时任务的实现更加灵活和方便。
总结:以上是PHP实现定时任务的五种方法。
每种方法都有其适用的场景和优缺点。
选择合适的方法取决于任务的需求和环境的限制。
无论使用哪种方法,都需要确保任务可以在合适的时间和间隔内执行,并且不会对服务器性能和资源造成过大的负载。
详解使用pythoncrontab设置linux定时任务

详解使⽤pythoncrontab设置linux定时任务熟悉linux的朋友应该知道在linux中可以使⽤crontab设置定时任务。
可以通过命令crontab -e编写任务。
当然也可以直接写配置⽂件设置任务。
但是有时候希望通过脚本⾃动设置,⽐如我们应⽤程序部署时等。
有需求当然就得想办法解决,不然在程序猿界混(⼀群⾃得其乐的猿)。
下⾯进⼊正题,开始想通过以写⽂件的形式设置,通过在配置⽂件中直接追加⼀⾏即可。
但是读写⽂件难免有点繁琐,再⽐如:设置任务时要检查任务是否已经存在;根据输⼊参数设置相应的任务等。
以读写⽂件难免不太合适。
所以想到了“万能”的⼤python。
当当当,今天的主⾓上场:python-crontab模块。
安装直接$ pip install python-crontab下⾯在脚本上就可以⽅便的设置计划任务了from crontab import CronTab# 创建当前⽤户的crontab,当然也可以创建其他⽤户的,但得有⾜够权限my_user_cron = CronTab(user=True)# 创建任务job = my_user_cron.new(command='echo date >> ~/time.log')# 设置任务执⾏周期,每两分钟执⾏⼀次job.setall('*/2 * * * *')# 当然还⽀持其他更⼈性化的设置⽅式,简单列举⼀些job.minute.during(5,50).every(5)job.hour.every(4)job.day.on(4, 5, 6)job.dow.on('SUN')job.dow.on('SUN', 'FRI')job.month.during('APR', 'NOV')job.setall(time(10, 2))job.setall(date(2000, 4, 2))job.setall(datetime(2000, 4, 2, 10, 2))# 同时可以给任务设置comment,这样就可以根据comment查询,很⽅便job.set_comment("time log job")# 根据comment查询,当时返回值是⼀个⽣成器对象,不能直接根据返回值判断任务是否#存在,如果只是判断任务是否存在,可直接遍历my_user_cron.crons iter = my_user_cron.find_comment('time log job')# 同时还⽀持根据command和执⾏周期查找,基本类似,不再列举# 任务的disable和enable,默认enablejob.enable(False)job.enable()# 最后将crontab写⼊配置⽂件my_user_cron.write()下⾯可通过命令查看,是否创建成功:$ crontab -l以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
linux试题及答案

l i n u x试题及答案(总13页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--一.填空题:1. 在Linux系统中,以文件方式访问设备。
2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。
3. Linux文件系统中每个文件用 i节点来标识。
4. 全部磁盘块由四个部分组成,分别为引导块、专用块、 i节点表块和数据存储块。
5. 链接分为:硬链接和符号链接。
6. 超级块包含了i节点表和空闲块表等重要的文件系统信息。
7. 某文件的权限为:d-rw-_r--_r--,用数值形式表示该权限,则该八进制数为: 644 ,该文件属性是目录。
8. 前台起动的进程使用 Ctrl+c 终止。
9. 静态路由设定后,若网络拓扑结构发生变化,需由系统管理员修改路由的设置。
10. 网络管理的重要任务是:控制和监控。
11. 安装Linux系统对硬盘分区时,必须有两种分区类型:文件系统分区和交换分区。
13. 编写的Shell程序运行前必须赋予该脚本文件执行权限。
14. 系统管理的任务之一是能够在分布式环境中实现对程序和数据的安全保护、备份、恢复和更新。
15. 系统交换分区是作为系统虚拟存储器的一块区域。
16. 内核分为进程管理系统、内存管理系统、 I/O管理系统和文件管理系统等四个子系统。
17. 内核配置是系统管理员在改变系统配置硬件时要进行的重要操作。
18. 在安装Linux系统中,使用netconfig程序对网络进行配置,该安装程序会一步步提示用户输入主机名、域名、域名服务器、IP地址、网关地址和子网掩码等必要信息。
19. 唯一标识每一个用户的是用户 ID 和用户名。
20 . RIP 协议是最为普遍的一种内部协议,一般称为动态路由信息协议。
21. 在Linux系统中所有内容都被表示为文件,组织文件的各种方法称为文件系统。
22. DHCP可以实现动态 IP 地址分配。
linux程序开机自启动的方法详解~程序自动启动~Myself.

linux程序开机自启动的方法详解~程序自动启动~Myself.1.开机启动时自动运行程序Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。
init根据配置文件继续引导过程,启动其它进程。
通常情况下,修改放置在 /etc/rc或/etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序。
例如:编辑/etc/rc.d/rc.local 文件,在文件最末加上一行"xinit"或"startx",可以在开机启动后直接进入X-Window。
2.登录时自动运行程序用户登录时,bash首先自动执行系统管理员建立的全局登录script :/etc/profile。
然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、/.profile,但只执行最先找到的一个。
因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。
3.退出登录时自动运行程序退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。
例如,在/.bash_logout中加入命令"tar -cvzf c.source.tgz *.c",则在每次退出登录时自动执行 "tar" 命令备份*.c 文件。
4.定期自动运行程序Linux有一个称为crond的守护程序,主要功能是周期性地检查/var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。
用户可以通过crontab 命令来建立、修改、删除这些命令文件。
例如,建立文件crondFile,内容为"00 9 23 Jan *HappyBirthday",运行"crontab cronFile"命令后,每当元月23日上午9:00系统自动执行"HappyBirthday"的程序("*"表示不管当天是星期几)。
简单之美 Oozie Coordinator使用及详解
简单之美Oozie Coordinator使用及详解Oozie所支持工作流,工作流定义通过将多个Hadoop Job的定义按照一定的顺序组织起来,然后作为一个整体按照既定的路径运行。
一个工作流已经定义了,通过启动该工作流Job,就会执行该工作流中包含的多个Hadoop Job,直到完成,这就是工作流Job的生命周期。
那么,现在我们有一个工作流Job,希望每天半夜00:00启动运行,我们能够想到的就是通过写一个定时脚本来调度程序运行。
如果我们有多个工作流Job,使用crontab的方式调用可能需要编写大量的脚本,还要通过脚本来控制好各个工作流Job的执行时序问题,不但脚本不好维护,而且监控也不方便。
基于这样的背景,Oozie提出了Coordinator的概念,他们能够将每个工作流Job作为一个动作(Action)来运行,相当于工作流定义中的一个执行节点(我们可以理解为工作流的工作流),这样就能够将多个工作流Job组织起来,称为Coordinator Job,并指定触发时间和频率,还可以配置数据集、并发数等。
一个Coordinator Job包含了在Job外部设置执行周期和频率的语义,类似于在工作流外部增加了一个协调器来管理这些工作流的工作流Job的运行。
运行Coordinator Job我们先看一下官方发行包自带的一个简单的例子oozie-3.3.2\examples\src\main\apps\cron,它能够实现定时调度一个工作流Job运行,这个例子中给出的一个空的工作流Job,也是为了演示能够使用Coordinator系统给调度起来。
这个例子有3个配置文件,我们不修改workflow.xml 配置内容。
修改后分别如下所示:job.properties配置nameNode=hdfs://m1:9000jobTracker=m1:19830queueName=defaultexamplesRoot=examplesoozie.coord.application.path=${nameNode}/user/${user.na me}/${examplesRoot}/apps/cronstart=2014-03-04T19:00Zend=2014-03-06T01:00ZworkflowAppUri=${nameNode}/user/${}/${exam plesRoot}/apps/cron修改了Hadoop集群的配置,以及调度起止时间范围。
Linux常用命令英文全称与中文解释(Linux入门)
Linux常⽤命令英⽂全称与中⽂解释(Linux⼊门)man: Manual 意思是⼿册,可以⽤这个命令查询其他命令的⽤法,例:man ls查看ls命令的⽤法和详解.(command --help或command -h也可以查看command命令的详解)ls: List files 列出当前⽬录下的⽂件(linux中⼀切皆⽂件)lsmod:List module,列出linux中加载的模块列表lscpu:List cpu,列出linux的cpu信息. CPU(Center Processing Unit)中央处理单元lsmem:List memory,列出linux的内存信息lsattr:List attribute,列出⽂件的属性信息pwd: Print working directory显⽰当前所在的⽬录(以绝对路径显⽰)cd: Change directory 切换⽬录,后⾯跟要进⼊的⽬的⽬录,⽬录路径可以⽤相对路径和绝对路径表⽰,后⾯不跟选项和参数时和cd ~命令可以⼀样回到当前登录⽤户的家⽬录。
cd -表⽰进⼊上次进⼊⽬录的位置,cd -连续使⽤即两个⽬录来回切换。
cd ..表⽰进⼊当前⽬录的上⼀级⽬录,例:当前⽬录为/root,使⽤cd ..命令后会回到/⽬录(/表⽰根⽬录,也是Linux⽬录结构的顶级⽬录)su:Switch user,切换⽤户(su - user1和su user1都能切换到user1,但尽量不要使⽤后者,因为后者只是shell层⾯上的切换,切换后⽤户的环境变量还是之前⽤户的)cat: Con cat enate 串联,在linux中主要查看⽂件的内容passwd:password的缩写,直接使⽤passwd命令,即命令后不跟选项和参数时表⽰更改当前登录⽤户的密码touch: 创建⽂件的命令,例:touch 1.txt为创建⼀个1.txt的普通⽂件,但touch命令后⾯跟的⽂件是当前存在的⽂件,那么会更新该⽂件的时间戳stat:stat us,命令后边跟⽂件,即可查看⽂件的时间戳等信息mkdir: mk=Make,dir=directory,意为创建⼀个⽬录(即⽂件夹)ln: Link 创建⼀个链接⽂件,⼀般使⽤-s参数,指创建⼀个软连接(相当于Windows⾥的快捷⽅式)mv: move,移动⽂件,也可以修改⽂件名。
常用的几种定时任务详解
常用的几种定时任务详解在日常生活和工作中,我们经常会遇到需要定时执行某些任务的情况,比如定时备份数据、定时发送邮件、定时清理垃圾文件等。
为了实现这些定时任务,我们可以利用计算机操作系统提供的定时任务功能。
在本文中,我们将详细介绍常用的几种定时任务,并分别介绍它们的用途、实现方法和注意事项。
一、定时备份数据。
定时备份数据是非常重要的一项工作,它可以保护数据的安全,防止数据丢失或损坏。
通常情况下,我们可以利用操作系统提供的定时任务功能来实现定时备份数据。
在Windows操作系统中,我们可以使用任务计划程序来创建定时备份任务,而在Linux操作系统中,我们可以使用crontab命令来实现定时备份任务。
无论是哪种操作系统,我们都需要指定备份的目录、备份的频率和备份的方式,以确保数据能够得到有效的保护。
二、定时发送邮件。
定时发送邮件是一种常见的定时任务,它可以帮助我们在特定的时间点自动发送邮件,比如定时发送工作报告、定时发送生日祝福等。
在实现定时发送邮件的过程中,我们通常会使用脚本语言来编写发送邮件的程序,并利用操作系统提供的定时任务功能来实现定时发送。
无论是使用Python、Shell脚本还是其他脚本语言,我们都需要确保发送的邮件内容和接收人的信息是正确的,并且在定时发送的过程中不会出现错误。
三、定时清理垃圾文件。
定时清理垃圾文件是一种常见的定时任务,它可以帮助我们定期清理系统中的临时文件、日志文件、缓存文件等,以释放磁盘空间,提高系统性能。
在实现定时清理垃圾文件的过程中,我们可以使用操作系统提供的定时任务功能,比如Windows系统中的任务计划程序,Linux系统中的crontab命令。
我们需要编写清理文件的脚本,并指定清理的目录、清理的频率和清理的方式,以确保系统能够得到有效的清理。
四、定时执行系统维护任务。
除了上述几种常见的定时任务外,我们还可以定时执行系统维护任务,比如定时更新系统补丁、定时扫描病毒、定时优化系统性能等。
Linux试题与答案
Linux试题与答案一.填空题:1. 在Linux系统中,以文件方式访问设备。
2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统。
3. Linux文件系统中每个文件用 i节点来标识。
4. 全部磁盘块由四个部分组成,分别为引导块、专用块、 i节点表块和数据存储块。
5. 链接分为:硬链接和符号链接。
6. 超级块包含了i节点表和空闲块表等重要的文件系统信息。
7. 某文件的权限为:d-rw-_r--_r--,用数值形式表示该权限,则该八进制数为: 644 ,该文件属性是目录。
8. 前台起动的进程使用 Ctrl+c 终止。
9. 静态路由设定后,若网络拓扑结构发生变化,需由系统管理员修改路由的设置。
10. 网络管理的重要任务是:控制和监控。
11. 安装Linux系统对硬盘分区时,必须有两种分区类型:文件系统分区和交换分区。
13. 编写的Shell程序运行前必须赋予该脚本文件执行权限。
14. 系统管理的任务之一是能够在分布式环境中实现对程序和数据的安全保护、备份、恢复和更新。
15. 系统交换分区是作为系统虚拟存储器的一块区域。
16. 内核分为进程管理系统、内存管理系统、 I/O管理系统和文件管理系统等四个子系统。
17. 内核配置是系统管理员在改变系统配置硬件时要进行的重要操作。
18. 在安装Linux系统中,使用netconfig程序对网络进行配置,该安装程序会一步步提示用户输入主机名、域名、域名服务器、IP地址、网关地址和子网掩码等必要信息。
19. 唯一标识每一个用户的是用户 ID 和用户名。
20 . RIP 协议是最为普遍的一种内部协议,一般称为动态路由信息协议。
21. 在Linux系统中所有内容都被表示为文件,组织文件的各种方法称为文件系统。
22. DHCP可以实现动态 IP 地址分配。
23. 系统网络管理员的管理对象是服务器、用户和服务器的进程以及系统的各种资源。
24. 网络管理通常由监测、传输和管理三部分组成,其中管理部分是整个网络管理的中心。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
crontab命令的功能是在一定的时间间隔调度一些命令的执行。
在/etc目录下有一个crontab 文件,这里存放有系统运行的一些调度程序。
每个用户可以建立自己的调度crontab。
crontab命令有三种形式的命令行结构:crontab [-u user] [file]crontab [-u user] [-e|-l|-r]crontab -l -u [-e|-l|-r] 第一个命令行中,file是命令文件的名字。
如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab目录下。
命令行中-r选项的作用是从/usr/spool/cron/crontabs目录下删除用户定义的文件crontab;命令行中-l选项的作用是显示用户crontab文件的内容。
使用命令crontab -u user -e命令编辑用户user的cron(c)作业。
用户通过编辑文件来增加或修改任何作业请求。
执行命令crontab -u user -r即可删除当前用户的所有的cron作业。
作业与它们预定的时间储存在文件/usr/spool/cron/crontabs/username里。
username使用户名,在相应的文件中存放着该用户所要运行的命令。
命令执行的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。
文件里的每一个请求必须包含以spaces和tabs分割的六个域。
前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,称为命令字段,其中包括了crontab调度执行的命令。
第一道第五个字段的整数取值范围及意义是:0~59 表示分1~23 表示小时1~31 表示日1~12 表示月份0~6 表示星期(其中0表示星期日)/usr/lib/cron/cron.allow表示谁能使用crontab命令。
如果它是一个空文件表明没有一个用户能安排作业。
如果这个文件不存在,而有另外一个文件/usr/lib/cron/cron.deny,则只有不包括在这个文件中的用户才可以使用crontab命令。
如果它是一个空文件表明任何用户都可安排作业。
两个文件同时存在时cron.allow优先,如果都不存在,只有超级用户可以安排作业。
Linux操作系统定时任务系统Cron 入门cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。
由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务: /sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sbin/service crond restart //重启服务/sbin/service crond reload //重新载入配置你也可以将这个服务在系统启动的时候自动启动:在/etc/rc.d/rc.local这个脚本的末尾加上:/sbin/service crond start现在Cron这个服务已经在进程里面了,我们就可以用这个服务了,Cron服务提供以下几种接口供大家使用:1.直接用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命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
1、linux任务调度的工作主要分为以下两类:*系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存*个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置。
2.crontab命令选项:-u指定一个用户,-l列出某个用户的任务计划,-r删除某个用户的任务,-e编辑某个用户的任务3.cron文件语法:分小时日月星期命令0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)4.记住几个特殊符号的含义:"*"代表取值范围内的数字,"/"代表"每","-"代表从某个数字到某个数字,","分开几个离散的数字一、任务调度设置文件的写法可用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参数表示,执行后面目录中的所有可执行文件。
]二、新增调度任务新增调度任务可用两种方法:1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
2、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。
三、查看调度任务crontab -l //列出当前的所有调度任务crontab -l -u jp //列出用户jp的所有调度任务四、删除任务调度工作crontab -r //删除所有任务调度工作五、任务调度执行结果的转向例1:每天5:30执行ls命令,并把结果输出到/jp/test文件中30 5 * * * ls >/jp/test 2>&1注:2>&1 表示执行结果及错误信息。
编辑/etc/crontab 文件配置croncron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。
用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。
此文件的文件格式是:SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号HOME=/ //使用者运行的路径,这里是根目录# run-parts01 * * * * 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目标sh文件注意要有x权限。