Linux使用某些软件的时候会产生日志文件,而这些软件本身对日志不进行分割或者压缩处理,久而久之会导致日志文件异常巨大,影响机器性能,配置不高的VPS上尤为严重。而logrotate就是管理这些日志文件的神器,可以对单个日志文件或者某个目录下的文件按时间/大小进行切割,压缩操作;指定日志保存数量;还可以在切割之后运行自定义命令。 不想读那么多?直接去 /etc/logrotate.d 下随便复制一个文件,改名,然后直接进去看一下当中的英文,改一下内容即可。 logrotate 分割日志原理 系统会按照计划的频率运行logrotate,通常是每天。在大多数的Linux发行版本上,计划每天运行的脚本位于 /etc/cron.daily/logrotate 当然,也有一些系统的文件位置不同,比如Gentoo,这个脚本是 /etc/cron.daily/logrotate.cron 如果你想让logrotate运行频率更高(比如每小时运行一次),你只需要用一个脚本来让cron运行 /etc/cron.hourly/logrotate.cron 当logrotate运行的时候,它会读取自身的配置文件来决定需要分割日志文件的路径,分割日志文件的频率及保留多少个日志存档。 logrotate.conf 主配置文件 logrotate的主要配置文件位于 /etc/logrotate.conf 这个文件包含logrotate分割日志时所使用的默认的参数。这个文件一般是被注释掉的,所以你可以粗略浏览一下看看大概的设置。文件中的数个文件会在下文中提及。 注意当中的一行: include /etc/logrotate.d 这个目录就是各软件使用logrotate分割日志文件所使用的配置文件 logrotate.d 配置文件目录 使用ls命令可以看到目录下的文件,这些文件包含着各个软件分割日志的设置: ls /etc/logrotate.d 这个目录下的文件数量可能为零,也可能有很多个配置文件,这取决于你安装应用的数量。总体上说,你通过包管理软件安装的应用也会在这个目录下创建一个配置文件。 通常情况下这个文件包括一个syslog服务的配置文件,logrotate读取这个文件来分割系统日志。这个文件包含一条各种系统日志的记录,并包含一些类似于logrotate.conf的命令 注意 Ubuntu 9.10 之前的版本中没有syslog服务的记录,在之前的发行版本中,系统日志由 /etc/cron.daily/sysklogd 里的savelog命令分割 logrotate 应用配置文件 举个例子,Debian 系统下 php5-fpm 会在 /etc/logrotate.d/ 目录下生成一个配置文件,如下: /var/log/php5-fpm.log { rotate 12 weekly missingok notifempty… Continue Reading Linux logrotate 命令教程日志分割

Original: https://github.com/mritd/dockerfile/tree/master/shadowsocks shadowsocks   shadowsocks-libev 版本: 3.2.0 kcptun 版本: 20180316 打开姿势 docker run -dt –name ss -p 6443:6443 mritd/shadowsocks -s “-s 0.0.0.0 -p 6443 -m aes-256-cfb -k test123 –fast-open” 支持选项 -m : 指定 shadowsocks 命令,默认为 ss-server -s : shadowsocks-libev 参数字符串 -x : 开启 kcptun 支持 -e : 指定 kcptun 命令,默认为 kcpserver -k : kcptun 参数字符串 选项描述 -m : 参数后指定一个… Continue Reading dockerfile/shadowsocks at master · mritd/dockerfile

Original: https://github.com/hspazio/elastic_notifier ElasticNotifier    ElasticNotifier gem provides a simple API to send error notifications to an Elastic Search instance. It can also be used as plug-in for exception_notification gem to send error notifications caught by the Rack middleware. Installation Add this line to your application’s Gemfile: gem ‘elastic_notifier’ And then execute: $ bundle… Continue Reading Ruby Gem – hspazio/elastic_notifier: A Ruby exception notifier for ElasticSearch

本文介绍3中检测远程端口方式,telnet、nmap和nc。 如果Mac提示找不到命令,请用brew安装。 如果Linux提示找不到命令,请用apt-get或者yum安装。 1 telnet方式 命令: 检测已打开的端口80(HTTP) $ telnet google.com 80 Trying 216.58.197.174… Connected to google.com. Escape character is ‘^]’. ^C Connection closed by foreign host. 如果提示Connected to google.com,说明80端口可以访问。 检测未打开的端口88 $ telnet google.com 88 Trying 216.58.197.174… ^C 如果超时,说明端口未开放。 2 nmap方式 命令: 检测已打开的端口80(HTTP) $ nmap google.com -p 80 Starting Nmap 6.40… Continue Reading Linux检测远程端口是否打开

feedparser library – Read Web Feeds in XML, HTML, JSON, TXT and More; Build Your Own News Reader from Scratch in Twenty Lines feedparser/feedparser: feedparser gem – (universal) web feed parser and normalizer (XML w/ Atom or RSS, JSON Feed, HTML w/ Microformats e.g. h-entry/h-feed or Feed.HTML, Feed.TXT w/ YAML,… Continue Reading Ruby Gem – feedparser/feedparser

Packing your Ruby application into a single executable. http://enclose.io 1. Ruby Packer Packing your Ruby application into a single executable. 1.1 Features Works on Linux, Mac and Windows Creates a binary distribution of your application Supports natively any form of require and load, including dynamic ones (e.g. load(my_path + ‘x.rb’) Features… Continue Reading Ruby Gem – pmq20/ruby-packer

Mountable Rails Engine for viewing paginated logs from a browser 1. Installation Add this line to your application’s Gemfile: gem ‘logs’ And then execute: $ bundle 2. Mount Engine: config/routes.rb Rails.application.routes.draw do mount Logs::Engine => ‘/logs’ end 3. Screenshot References kirillshevch/logs: Mountable Rails Engine for viewing paginated logs from a… Continue Reading Ruby Gem – kirillshevch/logs

ActiveRecord::MTI ActiveRecord support for PostgreSQL’s native inherited tables (multi-table inheritance) Compatible with ActiveRecord 4.0, 4.1, 4.2, 5.0, 5.1 Confirmed production use in 4.2 1. Usage Add this line to your application’s Gemfile: gem ‘active_record-mti’ And then execute: $ bundle Or install it yourself as: $ gem install active_record-mti 2. Application… Continue Reading Ruby Gem – TwilightCoders/active_record-mti