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 ...
随机推荐
- java 实现文件下载
需求:把每天产生的日志文件,从服务器上下载下来 File file = new File(path); // 根据路径,获取File String filename = file.getName(); ...
- 短信接口API
/** * Created by bingone on 15/12/16. */ import org.apache.http.HttpEntity; import org.apache.http.N ...
- NOSDK--一键打包的实现(三)
1.3 编译及拷贝资源的脚本介绍 这一节介绍编译及拷贝资源的shell脚本,即: tools: //保存通用的功 ...
- 用JS获取地址栏参数的方法
采用正则表达式获取地址栏参数: function GetQueryString(name) { var reg = new RegExp("(^|&)"+ nam ...
- SVN版本库(访问权限)配置实例笔记
http://blog.csdn.net/zjianbo/article/details/8578297 SVN版本库(访问权限)配置实例笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. ...
- migration integer limit option
https://gist.github.com/stream7/1069589 :limit Numeric Type Column Size Max value 1 tinyint 1 byte 1 ...
- ftp服务配置文件记录
因为南京的客户死活要ftp服务而不是sftp,所以我作手用vsftp作为服务器,尝试在windows ftp软件登录进去,特记录vsftp的用法. 配置文件在/etc/vsftpd.conf 有如下代 ...
- Spring基础知识
Spring基础知识 利用spring完成松耦合 接口 public interface IOutputGenerator { public void generateOutput(); } 实现类 ...
- 使用Angular2理由
1. 组件化 组件化编程是web 发展的一个趋势,Angular2提供高效简单的组件开发方式,使程序开发更加关注业务逻辑的实现,而不用关心如何加载组件和模块,如何引用及依赖注入的实现等. 如下代码所示 ...
- objccn-iOS上的相机捕捉
在第一台iPhone时,在app里面整合相机的唯一方法就是使用UIImagePickerController.到了iOS4,发布了更灵活的AVFoundation框架. UIImagePickerCo ...