博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scrapyd日志输出优化
阅读量:5709 次
发布时间:2019-06-17

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

hot3.png

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

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

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

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

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

新建bash脚本,内容如下:

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

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

然后crontab创建定时任务。

执行

crontab -e

 

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

输入

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

 

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

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

 

转载于:https://my.oschina.net/u/3720876/blog/1596518

你可能感兴趣的文章
Elasticsearch部署
查看>>
chapter 8 exercise
查看>>
我的友情链接
查看>>
VesPrep 1.0 Alpha 封装辅助工具
查看>>
python实现2个文件对比
查看>>
利用Packet Tracer模拟器搭建小型企业局域网实验
查看>>
OSSEC中文使用手册
查看>>
我的友情链接
查看>>
【java.sql.Date】没有时分秒
查看>>
8B/10B
查看>>
ASP.NET 4 和 Visual Studio 2010 Web 开发概述 2 - AJAX
查看>>
AIX浅析lsdev、lsattr、lscfg
查看>>
centos 系统优化
查看>>
Android -- 重写android返回键
查看>>
Selenium IDE 进阶部分-UI-Element
查看>>
Windows 8.1 轻量接触接触方式部署(三)
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
ios开发之字体样式设置大全
查看>>
js 自执行函数 函数内部通过函数名调用本身没有问题而函数外部调用报错’未定义错误‘...
查看>>