如何手动执行定时任务执行常见任务

如何进行常见的Linux自动化任务_服务器应用_Linux公社-Linux系统门户网站
你好,游客
如何进行常见的Linux自动化任务
来源:Linux社区&
作者:jordana
Linux系统的web网站在运营状态时,我们常需要对网站进行维护,例如查看资源剩余并做出响应、日志分割、数据整理,在特定状态执行特定任务等等,这些都会需要linux能实现自动执行某些任任务。本篇博文介绍如何进行常见的linux自动化任务。
&实现&自动化&有如下好处:&节省人力,一个脚本就够了。&在夜晚自动执行可以避开网站流量高峰期,不影响网站白天的效率。&准确,设置完善的情况下,不会出差错。&当然最重要的还是省心了,不用频繁的敲某些命令了。&开机启动&开机启动应该是我们很经常的需求了,我们常需要在开机时就自动执行某些命令来开启服务,进程等,有了它我们不必再在每次开机时输入同一堆命令。
chkconfig命令
&使用chkconfig命令可以在设置在不同启动级别下启动特定的服务或是程序。
&先说一下linux的运行级别:
&等级0表示:表示关机&等级1表示:单用户模式&等级2表示:无网络连接的多用户命令行模式&等级3表示:有网络连接的多用户命令行模式&等级4表示:不可用&等级5表示:带图形界面的多用户模式&等级6表示:重新启动chkconfig的命令如下:
chkconfig --list //命令查看已设置的开启自启动列表。xxxd 0:off 1:off 2:on ... 6:off //list的结果,表示在xxxd服务在启动级别为2 3 4 5 的情况下会自动启动。 chkconfig --add xxxd//向任务列表中添加一个xxxd服务chkconfig [--level 1/2/../6] xxxd on/off//设置xxxd用服务在n状态为开/关,[]内省略则在2345级别开启chkconfig --del xxxd //将任务列表中的xxxd服务删除rc.d文件的编辑
&也可以直接编辑/etc/rc.d/目录下的文件来实现开机自启动。此目录下有很多文件,rcn.d是在启动状态为n的情况下的启动文件夹,rc、rc.sysinit、init.d都是系统的模块或系统设置的自启文件[夹]。
&我们用vim rc.local 编辑 rc.local文件,来定制自己的自启计划。命令十分简单,就像平常在操作一样。如/usr/local/apache/bin/apachectl start表示开机自启动apache服务器。
at实现定时任务at是一个简单的功能简单的定时任务程序,它只能进行一次性的定时任务,其用法如下:
#at time      //at加时间启动at命令at&operation    //输入要执行的操作at&Ctrl+D      //按Ctrl+D退出命令编辑&其time的常见形式如下
at H:m tomorrow& &
//第二天的H点m分at now + n minutes/hours/days/weeks& //在n分/时/天/周后at midnight& & & &
//在午夜=-=at H:m pm/am& & & & //在当天上午/下午的H点m分&我们也可以在/var/spool/at文件中查看at的当前命令。还需要注意的是,linux默认atd进程关闭状态,需要手动打开。
crontab实现定时任务linux内置的cron进程能帮我们实现这些需求,cron搭配shell脚本,非常复杂的指令也没有问题。
cron守护进程是一个由实用程序和配置文件组成的小型子系统,在几乎所有类 UNIX 系统上都可以找到某种风格的cron,我们可以用ps aux|grep cron找到crond这个守护进程。
&我们经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件。
/var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名/etc/crontab 这个文件负责调度各种管理和维护任务。/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。&我们还可以把脚本放在/etc/con.hourly、/etc/con.daily、/etc/con.weekly、/etc/con.monthly目录中,让它每小时/天/星期、月执行一次。crontab的使用
我们常用的命令如下:
crontab [-u username]    //省略用户表表示操作当前用户的crontab& &
-e& & & (编辑工作表)& &
-l& & & (列出工作表里的命令)& &
-r& & & (删除工作作)
我们用crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。
crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种,操作符有
* 取值范围内的所有数字/ 每过多少个数字- 从X到Z,散列数字&以下是几个例子。
&时间& & & & & & & & & 注释
0 0 25 12 *& &
//在12月25日的0时0分*/5 * * * *& &
//每过5分钟* 4-6 * * *& &
//每天的4 5 6点* * * * 2,5& &
//每周二和周五
配合简单的shell脚本
如果我们的命令有逻辑判断等非常复杂的操作时,再直接编辑crontab就有点困难了,这时,我们可以使用shell脚本。其来历,分类定义与题不符,不再多说,我们直接说它的用法。
我们用vim /usr/sh/test.sh来使用vim编辑一个shell脚本
#!/bin/sh& & & & &
//声明开始shell脚本a = "hello world"&
//定义一个shell变量echo $a& & & & & &
//熟悉的echo,输出a变量
然后crontab -e编辑crontab,添加 */5 * * * * /usr/sh/test.sh每隔五分钟运行一次test.sh脚本,也可以用 /phppath/php /filepath/test.php 来用php进程来执行php程序。
本文永久更新链接地址:
相关资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款博客访问: 4183
博文数量: 13
博客积分: 0
博客等级: 民兵
技术积分: 135
注册时间:
认证徽章:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Java
程序结束时执行任务,常用方式:
1. @PreDestroy / destroy-method
使用Spring注解@PreDestroy,在容器销毁该bean之前执行操作。由于是销毁之前执行,可以安全访问bean中的全部元素。
使用方式为:在类中某个方法上,打@PreDestroy注解,则Spring在销毁此bean之前会调用该方法。
以上是Spring框架下,对自动加载的bean最常用的销毁前执行方法。当然,仅限程序正常退出。
在Spring的xml文件中配置destroy-method,并在bean中实现该方法,与上结果类似。
在Spring中还有通过bean实现InitializingBean和 DisposableBean接口实现的,不常用。
2. 使用钩子函数
在jdk1.3之后,java实现了运行时的钩子函数入口。使用钩子函数是在jvm结束之前调用。可以在程序中加入Runtime.getRuntime().addShutdownHook({Thread})方法,则jvm结束时,会执行{thread}.start()。
钩子函数是除了kill -9会忽略外,程序结束都会调用的方法,包括kill, System.exit(), OutOfMemory宕机, 系统关闭等。但是也更底层,由jvm控制执行,不像上述注解。
在执行钩子函数过程中,不执行钩子的其余线程也仍然执行,直到钩子结束。所以如果想在钩子执行时仅有该逻辑执行,就应该在钩子中关闭其他线程池、消息消费者等。
同一个JVM最好只使用一个关闭钩子,以避免一个钩子需要的服务已经被另一个关闭。
钩子中的逻辑尽量简洁,比如将内存中缓存的数据持久化(写入文件等),等待下次启动加载即可。非必要的服务尽量避免在钩子中执行,以加快程序结束速度。
线程池有shutdown方法,可以在线程池退出时拒绝接受其他请求,并完成池内的任务。
附:人工结束程序的几种方式:
1. kill {pid} / Ctrl+C
向进程发送退出信号,平滑退出程序。“平滑”包括:
1) 如果在spring容器中,触发springbean的destroy-method回调方法。
2) 触发jvm的addShutdownHook。
2. 代码级别控制
开线程监听某种信号,出现就system.exit(0)。如监听某file是否存在,某端口是否有命令等。
由于使用代码控制,可以在exit之前编写关闭代码,因此也是一种平滑退出。
3. kill -9
强制关闭某进程,不调用钩子直接退出。
阅读(296) | 评论(0) | 转发(0) |
上一篇:没有了
相关热门文章
给主人留下些什么吧!~~
请登录后评论。热门关键词:    
当前位置:
活动执行中遇到的常见的问题及处理方法
& & 一个成功的活动对于执行的要求是非常严谨和细致的,首先策划方案是保证活动成功的前提,而活动执行是活动效果的保障。所以一些经验丰富的活动策划公司都知道,b不管你策划方案做的如何好,如果在执行过程中很多东西用不了,客户不满意,都得重做,所以说在过程中还是很多细节的,而对于这些突发情况的妥善处理正是对活动执行人员真正的考验。& & 长沙浅藏就来带领大家一起来分析一些要注意的问题。1、活动前一定要准备的充分,不能忽视细节,漏掉道具;活动执行人员在接受任务之后,除了要对活动流程熟悉以外,活动中用到的道具也同样要顾及,特别是一些较小的东西更加不能忽视掉,一些比较重要的要有专人负责,并责任到个人。2、活动现场分工要明确,不能导致场面混乱;活动执行中会有很多不同的环节,所以要有不同的人负责,比如礼仪,要有人带领她们站位怎么站,颁奖的时候谁上去、谁接领导上台,等等问题;还有道具,什么环节需要什么道具,什么人来提供;还有在演艺的时候的催场、工作餐的供给等,都要有明确的分工。3、发生突发情况时活动执行人员应对能力要足。因为你作为这个活动执行的负责人,你该如何去做。& & &在活动开始之前要各部分的负责人再仔细检查,至少得确认两遍以上;然后,要做好各个方面的统筹安排,最重要的就是人员的分工,主办方、活动嘉宾、工作人员、媒体记者等等。既要注意人员的独立性,又要注意各人员负责工作的系统性和联系性。这里,需要你有很强的指挥能力和沟通能力。之后,就是活动结束后的撤离工作,注意安全是一定的,人员以及物资。很多活动看起来很简单,但是活动执行的人员却一点也不容易,活动的顺利举办需要执行人员的辛勤付出去支撑,所以,一场成功的活动不仅需要好的策划,更要执行人员更好的去完成。
地址:湖南省长沙市岳麓区岳麓山湖湘能量谷
联系电话:
Copyright © 2016长沙市浅藏文化传播有限公司 湘ICP备号-1技术支持:湖南网众

我要回帖

更多关于 php定时执行任务 的文章

 

随机推荐