转换需要用到下面这些软件,通过brew安装: brew install flac shntool cuetools ffmpeg 比如转换带cue的wav格式音乐:

luohui@MacBookPro:/Volumes/DATA HD/music/APE/李荣浩《李荣浩创作精选》$ shntool split -t "%p-%t" -f lrh.cue
enter input filename(s):
lrh.wav
shntool [split]: warning: discarding initial zero-valued split point
Splitting [lrh.wav] (69:04.36) --> [李荣浩-李白 .wav] (4:34.33) : 100% OK
Splitting [lrh.wav] (69:04.36) --> [李荣浩-作曲家.wav] (3:47.42) : 100% OK
Splitting [lrh.wav] (69:04.36) --> [李荣浩-模特 .wav] (5:07.18) : 100% OK
Splitting [lrh.wav] (69:04.36) --> [李荣浩-太坦白.wav] (4:57.60) : 100% OK
Splitting [lrh.wav] (69:04.36) --> [李荣浩-丑八怪.wav] (4:08.32) : 100% OK
Splitting [lrh.wav] (69:04.36) --> [李荣浩-寂寞不痛.wav] (4:58.62) : 100% OK
Splitting [lrh.wav] (69:04.36) --> [李荣浩-演员和歌手 .wav] (4:16.11) : 100% OK
Splitting [lrh.wav] (69:04.36) --> [李荣浩-老伴 .wav] (3:28.40) : 100% OK
Splitting [lrh.wav] (69:04.36) --> [李荣浩-蓝绿 .wav] (4:20.67) : 100% OK
Splitting [lrh.wav] (69:04.36) --> [李荣浩-拜拜.wav] (5:36.60) : 100% OK
Splitting [lrh.wav] (69:04.36) --> [李荣浩-哎呀.wav] (4:52.41) : 100% OK
Splitting [lrh.wav] (69:04.36) --> [李荣浩-什么都没留.wav] (4:14.47) : 100% OK
Splitting [lrh.wav] (69:04.36) --> [李荣浩-两个人 .wav] (4:50.46) : 100% OK
Splitting [lrh.wav] (69:04.36) --> [李荣浩-有一个姑娘 .wav] (4:45.69) : 100% OK
Splitting [lrh.wav] (69:04.36) --> [李荣浩-都一样 .wav] (5:04.08) : 100% OK

这样就成功的把一个600多M的音乐分割十来个小文件了。

阅读全文

centos linux 7本身的内核为3.10,比较老,很多新的特性都没有,可以考虑使用第三方的比较新的内核。如ELRepo仓库就提供了kernel 4.4.x的长期支持版本及5.0.x的最新版.

启用 ELRepo 仓库: 导入密钥: rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 安装yum源包: yum install -y https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

安装内核: yum --enablerepo=elrepo-kernel install kernel-lt -y

配置启动内核,使用最新的就可以了: egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \' grub2-set-default 0

kernel 4.4 对kdump参数有调整,需做如下修改: vim /etc/default/grubcrashkernel=auto 改成: crashkernel=128M

阅读全文

在使用docker时经常出现一台docker主机上跑了多个容器,可能其中一个容器里的进程导致了整个宿主机load很高,其实一条命令就可以找出罪魁祸首

#查找容器ID

docker inspect -f "{{.Id}} {{.State.Pid}} {{.Name}} " $(docker ps -q) |grep <PID>

#查找k8s pod name

docker inspect -f "{{.Id}} {{.State.Pid}} {{.Config.Hostname}}" $(docker ps -q) |grep <PID>

#如果PID是容器内运行子进程那docker inspect就无法显示了

for i in  `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i &&echo ID=$i; done |grep -A 10 <PID>

阅读全文

如何获取自己的公网IP

如何获取自己的公网IP呢?

1. dig查google dns

dig TXT +short o-o.myaddr.l.google.com @ns1.google.com
#或
dig +short myip.opendns.com @resolver1.opendns.com

2. curl查IP网站


curl icanhazip.com
curl ifconfig.me
curl icanhazip.com
curl ipecho.net/plain
curl ifconfig.co

阅读全文

日前写了一个zabbix的监控脚本来监控kubernetes集群,主要用于报警的功能。性能监控还是使用其它方式来实现。

github URL

https://github.com/farmerluo/k8s_zabbix

k8s_zabbix说明

k8s_zabbix实现了使用zabbix监控kubernetes的ingress,hpa,pod状态等功能。

Template Check K8S Cluster Status.xml:zabbix模板,可通过此文件导入到zabbix

check_k8s_status.py:kubernetes的监控脚本

userparameter_k8s.conf:zabbix agent端的配置文件,需要注意脚本的路径

阅读全文

elasticsearch集群容量总是有限的,所以必需要对超过一定时间的索引进行删除和清理。 先说明下我们索引的命令方式:xxx-xxx-xxx-yyyy.mm.dd yyyy.mm.dd为日期。

清理脚本如下:

#!/bin/bash
###################################
#删除早于天的ES集群的索引
###################################
# crontab -e
#clean es index
#* 0 * * * sh /data/shell/clean_es_indes.sh 

#索引保存天数
days=30
 
#ES cluster url
es_cluster_url="http://127.0.0.1:9200"

function delete_indices() {
    comp_date=`date -d "$days day ago" +"%Y-%m-%d"`
    date1="$1 00:00:00"
    date2="$comp_date 00:00:00"

    t1=`date -d "$date1" +%s` 
    t2=`date -d "$date2" +%s` 

    if [ $t1 -le $t2 ]; then
        echo "$1时间早于$comp_date,进行索引删除"
        #转换一下格式,将类似2017-10-01格式转化为2017.10.01
        format_date=`echo $1| sed 's/-/\./g'`
        echo "curl -XDELETE $es_cluster_url/*$format_date"
        curl -s -XDELETE "$es_cluster_url/*$format_date"
    fi
}

curl -s -XGET "$es_cluster_url/_cat/indices" | awk -F" " '{print $3}' | awk -F"-" '{print $NF}' | egrep "[0-9]*\.[0-9]*\.[0-9]*" | sort | uniq  | sed 's/\./-/g' | while read LINE
do
    #调用索引删除函数
    delete_indices $LINE
done

阅读全文

目录

Weave Scope 能自动生成应用程序的映射,使你能够直观地了解、监控并控制你的微服务容器应用。

1. Weave Scope的简介

1.1. 实时了解Docker容器状态

查看容器基础设施的概况,或者专注于一个特殊的微服务。从而轻松发现并纠正问题,确保你的容器化应用的稳定与性能。

1.2. 内部细节与深度链接

查看容器的指标、标签和元数据。在一个可扩展、可排序的列表内,从容器内的进程到容器运行的主机之间轻松切换。对于指定的主机或者服务,很容易找高负载(CPU或内存)的容器。

1.3. 容器的交互与管理

直接与容器交互:暂停、重启或者停止容器,以及启动命令行。这些都在Scope的浏览器内进行。

阅读全文

作者的图片

阿辉

容器技术及容器集群等分布式系统研究

容器平台负责人

上海