Linux下定时执行任务的几种方式
如果说我说如果,你的某一个目录下会经常的生成一些垃圾文件,比如访问日志、错误日志、core文件,而你又不想过几分钟就去手动检查一下,那么可以使用定时执行任务的方式来解决。目前我所知道的可以执行定时任务的方式有这么几种:crontab、后台脚本定时检查。
下面对这几种方式进行一下讲解:
1、使用脚本
这个方式比较简单,就是写个脚本,每次开机的时候自动让它启动,然后放在后台去执行就可以了。脚本代码如下:
$ cat cleanwitch.sh
#!/bin/bash # which dir would you want to clean
# (please use absolute path like :
# /a/b/c )
# split with space
#DIR_LIST="/root/temp /var/temp"
PATH_LIST="/home/normal/temp /home/normal/var" # time : every (x) second
INTERVAL= # file filter
FILE_FILTER="core.*" function clearfile()
{
rm -rf ${FILE_FILTER}
} while true ; do
sleep ${INTERVAL}
for WORKPATH in ${PATH_LIST} ; do
if [ -n ${WORKPATH} ] ; then
NOW_PATH=`pwd`
cd ${WORKPATH}
clearfile
cd ${NOW_PATH}
fi
done
done
我们把这个文件放到/usr/local/bin目录下,并且给可运行权限:
$ chmod 755 cleanwitch.sh
这样一个可以执行的脚本就写好了,但是还没有设置开机启动呢。设置开机启动的方式也比较简单,就是在/etc/rc.local这个配置文件下增加一句运行我们这个脚本的命令就可以了,增加的这句话如下:
/usr/local/bin/cleanwitch.sh &
为什么要在这句话后面加个&呢?因为在一个命令后面加上这个符号之后呢,这句脚本中运行的命令就会被放到后台作为一个服务去执行了。因为每次linux开机后都会去执行一次这个/etc/rc.local脚本,所以我们的清理脚本也会在开机的时候自动执行,并且每隔一段时间就会去执行我们让它做的事情。
需要注意的是,不同的linux发行版中,rc.local的位置可能不同,不过基本都在/etc这个总目录下,如果实在找不到,可以使用下面的命令找一下:
$ cd /etc/
$ find -name rc.local
如果要想停掉这个脚本怎么做呢?在命令行执行如下命令就可以了:
$ killall cleanwitch.sh
2、第二种方式就是使用crontab了
还不会~~
Linux下定时执行任务的几种方式的更多相关文章
- linux下定时执行任务的方法
linux下定时执行任务的方法 在LINUX中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /clearigame2内容到里面 :wq 保存退出. 在LINUX ...
- 设置 Linux 下打印机的几种方式
设置 Linux 下打印机的几种方式 一.使用 cups 进行设置 如若遇到 cups 也没有驱动的话可以前往 openprinting.org 找寻对应驱动. 二.前往 official 下载驱动 ...
- Python实现定时执行任务的三种方式简单示例
本文实例讲述了Python实现定时执行任务的三种方式.分享给大家供大家参考,具体如下: 1.定时任务代码 import time,os,sched schedule = sched.scheduler ...
- python定时执行任务的三种方式
#!/user/bin/env python # @Time :2018/6/7 16:31 # @Author :PGIDYSQ #@File :PerformTaskTimer.py #定时执行任 ...
- linux下定时执行任务方法【转】
之前就转过一篇关于定时任务的文章,前俩天用,还的翻出来看!!!再转一次,备用,,需要的时候不用麻烦找! ----------------------------------------------- ...
- PHP定时执行任务的3种方法详解
转载 https://www.jb51.net/article/76720.htm 更新时间:2015年12月21日 10:38:56 作者:PHP淮北 我要评论 PHP不支持多线程,有时候处 ...
- Linux下定时执行脚本(转自Decode360)
文章来自:http://www.blogjava.net/decode360/archive/2009/09/18/287743.html Decode360's Blog 老师(业精于勤而荒于嬉 ...
- Android中定时执行任务的3种实现方法
在Android开发中,定时执行任务的3种实现方法: 一.采用Handler与线程的sleep(long)方法(不建议使用,java的实现方式)二.采用Handler的postDelayed(Runn ...
- 在Android开发中,定时执行任务的3种实现方法
在Android开发中,定时执行任务的3种实现方法: 一.采用Handler与线程的sleep(long)方法(不建议使用,Java的实现方式)二.采用Handler的postDelayed(Runn ...
随机推荐
- todoList使用教程
网页链接:http://www.cnblogs.com/sunada2005/articles/2663030.html
- [NHibernate]O/R Mapping基础
系列文章 [Nhibernate]体系结构 [NHibernate]ISessionFactory配置 [NHibernate]持久化类(Persistent Classes) 引言 对象和关系数据库 ...
- mrjob 使用 mongoldb 数据源【转】
最近做的事情是用mrjob写mapreduce程序,从mongo读取数据.我的做法很容易也很好懂,因为mrjob可以支持sys.stdin的读取,所以我考虑用一个python程序读mongo中的数据, ...
- BZOJ4590——[Shoi2015]自动刷题机
1.题意:题意很简洁吧,就不概括了 2.分析:我思考了半天,我猜答案满足单调...没敢写,看了题解去问Claris为啥单调,Claris一句话" 因为n越大明显不可能做更多题 ", ...
- javascript基础03
javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...
- Java 网络编程之 Socket
========================UDP============================= UDP---用户数据报协议,是一个简单的面向数据报的运输层协议. UDP不提供可靠性, ...
- __new__方法
__new__:创建对象时调用,返回当前对象的一个实例__init__:创建完对象后调用,对当前对象的实例的一些初始化,无返回值 案例一: >>> class A(object): ...
- JavaScript——理解闭包及作用
js是一个函数级语言,变量的作用域是: 内部可以访问内部,内部可以访问外部,外部不能访问内部. 如果要在外部,访问函数内部的变量,就要用到闭包.闭包就是指访问到了本不该访问的变量. 闭包作用1:实现封 ...
- EL操作 web 对象的常用方法
11个常见的web对象 pageScope :获得pageContext对象中存的数据 requestScope :获得request对象中存的数据 sessionScope :获得session对象 ...
- InnoDB全文索引:N-gram Parser【转】
本文来自:http://mysqlserverteam.com/innodb%E5%85%A8%E6%96%87%E7%B4%A2%E5%BC%95%EF%BC%9An-gram-parser/ In ...