linux系统中实现自动清理日志

1、定时调度工具crontab相关的rpm下载

 

链接:https://pan.baidu.com/s/1GBQ0_KZ9i48CjcCi978fEQ 
提取码:58e4

2、若没有crontab的需要先安装crontab,命令如下:

rpm -ivh vixie-cron-3.0.1-39.i386.rpm
rpm -ivh crontabs-1.11-2.20101115git.fc15.noarch.rpm

cron 是 linux 的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:

service crond start     //启动服务

service crond stop      //关闭服务

service crond restart   //重启服务

service crond reload    //重新载入配置

service crond status    //查看crontab服务状态

在CentOS系统中加入开机自动启动: 

systemctl enable crond

3、自动清理日志过程

(1)创建脚本文件

touch /opt/auto-del-log.sh

(2)进入该目录

cd /opt/

(3)修改执行权限

chmod +x auto-del-log.sh

(4)编辑shell脚本

vi auto-del-log.sh 

(5)编辑auto-del-log.sh

文件如下:
#!/bin/bash
find /opt/product/datax/log/ –mtime +2 –exec rm –rf {} ; //在上述文件夹里的超过2天的文件删除
find /opt/product/datax/log_perf/ –mtime +2 –exec rm –rf {} ; //在上述文件夹里的超过2天的文件删除

(6)计划任务
直接输入:

#crontab –e

编辑定时计划:

0 1 * * *  /opt/auto-del-log.sh

4、说明

实例命令:    find /export/Logs/ -type f -name "*log*" -mtime +3 -exec rm -rf {} \;

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

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

         /export/Logs/:想要进行清理的任意目录;

         -type f代表文件 d代表目录

         -mtime:标准语句写法;+30:查找30天前的文件,这里用数字代表天数;

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

         -exec:固定写法;

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

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

         -size 查找符合大小的文件;

计划任务:

    每次手动执行语句太麻烦,可以将语句写到一个可执行shell脚本文件中,再设置crontab调度执行自动清理相关文件。 

设置定时任务

   crontab -e

    0 1 * * *  auto-del-log.sh   每天凌晨一点执行auto-del-log.sh脚本

    文件/etc/crontab中每行任务的描述格式如下:

         minute hour day month dayofweek command

         minute - 从0到59的整数

         hour - 从0到23的整数

         day - 从1到31的整数 (必须是指定月份的有效日期)

         month - 从1到12的整数 (或如Jan或Feb简写的月份)

         dayofweek - 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示)

         command - 需要执行的命令(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令)

          * 代表任意值 */5 代表没五个单位时间执行一次

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值