Scrapyd 运行时会输出日志到本地,导致日志文件会越来越大,这个其实就是 Scrapy 控制台的输出。但是这个日志其实有用的部分也就是最后那几百行而已,如果出错,去日志查看下出错信息就好了推荐写一个脚本,来定时更新日志文件,将最后的 100 行保存下来!
第一步:
cd
第二步:
vi clean.sh #创建任务脚本
第三步:
复制这些写入到脚本里: clean() { for file in $1/* do if [ -d $file ] then clean $file else echo $file temp=$(tail -100 $file) # 默认最新100行日志 echo "$temp" > $file fi done } dir=/root/logs # 这里是scrapy log日志存放的地方,根据自身scrapy情况修改 clean $dir
第四步:
保存并退出
第五步:
然后创建定时任务。输入
crontab -e
我们设置清理一次日志文件。 输入
0 0 * * * sh /root/clean.sh
保存退出
第六步:
下一步,使其生效。输入
crontab
第七步:
下一步可以ctrl+C 返回
查看任务是否执行 tail -n 10 /var/log/cron
该任务已生效,结束!