博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux做脚本定时任务(定时清理日志)
阅读量:6323 次
发布时间:2019-06-22

本文共 1521 字,大约阅读时间需要 5 分钟。

    无论一些面试问题,还是实际应用,都会用到虚拟机的定时任务。现做定时清理日志日志做一总结。

1、查看/etc/crontab文件。

linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。

cron 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动cron进程,cron进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

Linux下的任务调度分为两类,系统任务调度和用户任务调度。

系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

 

2、删除文件命令:

find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;

实例命令:

find /usr/local/tomcat/logs/ -mtime +30 -name "*.log" -exec rm -rf {} \;

说明:

将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下:

find:linux的查找命令,用户查找指定条件的文件;

/opt/soft/log/:想要进行清理的任意目录;

-mtime:标准语句写法;

+30:查找30天前的文件,这里用数字代表天数;

"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;

-exec:固定写法;

rm -rf:强制删除文件,包括目录;

{} \; :固定写法,一对大括号+空格+\+; 

(注意:可添加:0 */1 * * * echo "Have a break now." >> /usr/local/myScript/logs/test.txt     每一个小时往test.txt中插入一条数据,主要用于测试是否执行该脚本。)

 

3、给脚本添加权限:

 

4、将脚本添加到定时任务。

vim /var/spool/cron/root

10 1 * * *  /usr/local/myScript/cleanlog.sh    每天凌晨1点10分执行

(还可以使用命令直接进入编辑:crontab -e)

查看定时任务:crontab -l

 

总结:虚拟机的定时任务是作为测试人员必须掌握的内容。

 

 

参考:https://blog.csdn.net/qq_39291929/article/details/79054452

     https://www.cnblogs.com/think-in-java/p/5712197.html

转载于:https://www.cnblogs.com/zuoshaowei/p/10577443.html

你可能感兴趣的文章
用函数SendARP()获取局域网计算机的MAC地址
查看>>
locate 命令(转)
查看>>
JUnit入门
查看>>
Linux内存管理大图
查看>>
sql中exists,not exists的用法
查看>>
WebGIS中兴趣点简单查询、基于Lucene分词查询的设计和实现
查看>>
实现android activity之间的跳转
查看>>
XMPP协议实现原理介绍
查看>>
HttpWebRequest类
查看>>
Eureka 的 Application Client client的执行演示样例
查看>>
从决策树学习谈到贝叶斯分类算法、EM、HMM
查看>>
Ubuntu 14.04 字体设置
查看>>
【转载】VS配置路径和宏
查看>>
Appium移动自动化测试(四)--one demo
查看>>
jQuery来源学习笔记:扩展的实用功能
查看>>
STM32 CRC-32 Calculator Unit
查看>>
BZOJ2790 : [Poi2012]Distance
查看>>
jenkins 安装 SVN Publisher 后向 svn 提交代码报错: E170001: Authentication required for...
查看>>
伪异步IO理解
查看>>
成为JAVA GC专家系列
查看>>