Scrapyd 日志输出定时清理

现在维护着一个新浪微博爬虫,爬取量已经5亿+,使用了Scrapyd部署分布式。

Scrapyd运行时会输出日志到本地,导致日志文件会越来越大,几十个G,这个其实就是Scrapy控制台的输出。但是这个日志其实有用的部分也就是最后那几百行而已,如果出错,去日志查看下出错信息就好了。

所以现在可以写一个脚本,来定时更新日志文件,将最后的100行保存下来就好了。

Scrapyd默认的日志目录是在用户文件夹下的logs目录。

所以在这里我们指定dir=~/logs

新建bash脚本,内容如下:

#!/bin/sh

clean() {
  for file in $1/*
  do
    if [ -d $file ]
    then
      clean $file
    else
      echo $file
      temp=$(tail -100 $file)
      echo "$temp" > $file
    fi
  done
}

dir=~/logs
clean $dir

新建这样的一个脚本,然后命名为 clean.sh,我的直接放在了用户文件夹下。

然后crontab创建定时任务。

执行

crontab -e

我们想要一分钟清理一次日志文件。

输入

*/1 * * * * /bin/sh ~/clean.sh

然后退出之后,crontab就可以每隔一分钟执行一次clean.sh,清理日志了。

这样我们就不怕日志文件大量占用主机空间啦~

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏枕边书

一键部署进化史

前言 ---- 之前的文章说过 由 PHP 转到 Java 之后,非常不适应的一点就是代码部署过程耗时长,调试不便,虽然可以使用 debug,但有时候还是需要修...

3548
来自专栏喵了个咪的博客空间

[喵咪BELK实战(2)] elasticsearch+kibana搭建

[喵咪BELK实战(2)] elasticsearch+kibana搭建 ? 前言 上一节我们介绍了日志系统和BELK之后就要到激动人心的安装环境了,实践出真知...

3037
来自专栏Laoqi's Linux运维专列

Cron,Chkconfig,Systemd,Target

Cron : # cat /etc/crontab //查看设置任务计划的(配置文件)格式 #crontab -e //自定义计划内容 0 3 * * * /b...

2977
来自专栏同步博客

MySQL读写分离

  当今MySQL使用相当广泛,随着用户的增多以及数据量的增大,高并发随之而来。然而我们有很多办法可以缓解数据库的压力。分布式数据库、负载均衡、读写分离、增加缓...

1196
来自专栏编程心路

在CentOS中搭建Hadoop

JDK:OpenJDK1.8.0 (强力建议不要使用 Oracle 公司的 Linux 版本的 JDK)

982
来自专栏Grace development

PHP程序员必须知道的两种日志

作为一名程序员,比码代码还重要那么一点点的东西就是日志的分析和查询。下面列出常见日志及设置方法。

1153
来自专栏王小雷

超详细从零记录Hadoop2.7.3完全分布式集群部署过程

超详细从零记录Ubuntu16.04.1 3台服务器上Hadoop2.7.3完全分布式集群部署过程。包含,Ubuntu服务器创建、远程工具连接配置、Ubuntu...

3389
来自专栏散尽浮华

Docker容器学习梳理--Volume数据卷使用

之前部署了Docker容器学习梳理--基础环境安装,接下来看看Docker Volume的使用。 Docker volume使用 Docker中的数据可以存储在...

3978
来自专栏jeremy的技术点滴

webpack的watch选项不工作原因分析

3576
来自专栏杂烩

otter安装 原

    https://github.com/alibaba/otter/wiki/QuickStart

643

扫码关注云+社区