分类 linux 下的文章

使用shell脚本批量叠加mp3文件

功能 : 一个目录下有2个多G的mp3文件,文件名为 拼音+声调+.mp3 例如 我们---->wo3men2.mp3
我们需要将单个汉字的 mp3文件 ,使用sox命令叠加一段名为empty.mp3的空音频

#!/bin/bash 
source=/opt/apache-tomcat-6.0.35/webapps/WebSearch/sounds/ 
audio=/home/empty.mp3
cd $source 
  for file in `ls $source` 
     do echo $file >tmp
       a=`sed 's/[^0-9]//g' tmp`
     num=`expr length "$a"` 
    if [ $num -eq 2 ];
         then sox $file $audio tmp.mp3 
          rm -rf tmp $file 
          mv tmp.mp3 $file
    fi 
done

编译安装 sox 见: https://opswill.com/articles/compiling-sox-to-support-mp3-format.html

编译安装sox支持mp3格式

公司的字典应用出现部分音频文件无法播放的现象,经过测试发现单个字的音频文件比较小,在浏览器下无法播放,于是使用sox在单个字的音频文件上叠加一段空音频,在配合shell脚本批量叠加,由于公司的服务器使用的亚马逊定制的系统(基于fedora),所以不能按照网上的教程直接apt-get或者yum来安装,只能动手编译。默认编译安装sox是无法支持mp3格式的,所以要先编译lame和MAD支持mp3

一、准备源码包

sox : http://sox.sourceforge.net/
lame : http://lame.sourceforge.net/download.php
MAD (MPEG Audio Decode): http://www.underbit.com/products/mad 需要下载MAD里的三个包

按照lame--->libid3tag--->libmad--->madplayer---->sox的顺序编译安装

二、开始安装

yum install gcc gcc-c++       

编译安装

       
./configure             
make       
make install        

基本上就都可以了sox要支持mp3格式在执行./configure后要注意已下的几处是否是yes

gsm........................yes (in-tree) 
lpc10......................yes (in-tree) 
mp2/mp3....................yes 
id3tag....................yes 
lame......................yes 
lame id3tag...............yes 
dlopen lame...............no 
mad.......................yes

如果没问题执行make -s && make install来安装sox
最后可以用sox a.mp3 b.mp3 ab.mp3来验证sox是否成功

三、解决编译出错

如果编译libmad遇到错误(make时):

cc1: error: unrecognized command line option '-fforce-mem' 
make[2]: *** [version.lo] Error 1 
make[2]: Leaving directory `/opt/libmad-0.15.1b'
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/opt/libmad-0.15.1b'
make: *** [all] Error 2

这时vi Makefile删除-fforce-mem,在执行make就没有问题了

批量叠加mp3文件的shell脚本:https://opswill.com/articles/using-linux-shell-to-add-two-mp3.html

四、参考文章:

http://techblog.netwater.com/?p=4

配置 Tomcat Access Log 的方法

配置方法,在conf/server.xml中打开(默认关闭的)

<Valve className="org.apache.catalina.valves.AccessLogValve">
prefix="localhost_access_log." suffix=".log"
pattern=" common " directory="${jboss.server.log.dir}"
resolveHosts="false"/>

最重要的参数:
common的值:%h %l %u %t %r %s %b
combined的值:%h %l %u %t %r %s %b %{Referer}i %{User-Agent}i
填写 common,日志中将包含下面信息:
访问者IP 访问时间 访问方式以及uri 返回状态 反应时间

192.168.1.102 - - [13/Dec/2011:17:14:33 +0800] "POST /member/isEmailExist HTTP/1.1" 200 84
192.168.1.102 - - [13/Dec/2011:17:40:56 +0800] "POST /member/decode HTTP/1.1" 404 -
192.168.1.102 - - [13/Dec/2011:17:41:30 +0800] "POST /ToolsWS/common/decode HTTP/1.1" 200 71 

如果填写 combined ,将有referer和ua信息,如下:

192.168.1.102 - - [13/Dec/2011:18:01:46 +0800] "GET /favicon.ico HTTP/1.1" 404 47 "-" "Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.24) Gecko/20111107 Ubuntu/10.04 (lucid) Firefox/3.6.24" 
192.168.1.102 - - [13/Dec/2011:18:02:09 +0800] "GET /admin-console/index.seam HTTP/1.1" 200 1821 "-" "Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.24) Gecko/20111107 Ubuntu/10.04 (lucid) Firefox/3.6.24"
192.168.1.102 - - [13/Dec/2011:18:02:09 +0800] "GET /admin-console/a4j/s/3_3_3.Finalorg/richfaces/renderkit/html/css/basic_classes.xcss/DATB/eAHTj7jOHbp8hjQADb0DGQ__ HTTP/1.1" 200 7126 "http://192.168.1.53:8080/admin-console/index.seam" "Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.24) Gecko/20111107 Ubuntu/10.04 (lucid) Firefox/3.6.24"
%a     访问者的IP
%A 本地服务器的IP
%b 发送的字节数,不包括http头,如果字节数为0的话,显示为-
%B 发送的字节数,不包括http头. 
%h 访问者主机名,如果resolveHosts为false的话,这里就是IP地址了
%H 访问者使用的协议,如:HTTP/1.1
%l always return '-' ,从identd返回的访问者逻辑用户名
%m 访问的方式,是GET还是POST
%p 本地接收访问的端口
%q 查询字符串,比如你访问的是aaa.jsp?bbb=ccc,那么这里就显示?bbb=ccc
%r 请求的第一行,包含请求方法和URI
%s 响应的状态码
%S 用户的session ID
%t 日志和时间,使用通常的Log格式
%u 认证以后的远端用户,不存在就是"-"
%U 访问的URI路径
%v 本地服务器名称
%D 处理请求的时间,以毫秒记
%T 处理请求的时间,以秒记

eg:配置
        <div>
            <span style="font-size:16px;">pattern="</span><span style="font-size:16px;">192.168.1.54:</span><span style="font-size:16px;">&nbsp;%a&nbsp;</span><span style="font-size:16px;">%A</span><span style="font-size:16px;">&nbsp;%b&nbsp;</span><span style="font-size:16px;">%B</span><span style="font-size:16px;">&nbsp;%h&nbsp;</span><span style="font-size:16px;">%H</span><span style="font-size:16px;">&nbsp;%l&nbsp;</span><span style="font-size:16px;">%m</span><span style="font-size:16px;">&nbsp;%p&nbsp;</span><span style="font-size:16px;">%q&nbsp;</span><span style="font-size:16px;">%r&nbsp;</span><span style="font-size:16px;">%s&nbsp;</span><span style="font-size:16px;">%S&nbsp;</span><span style="font-size:16px;">%t&nbsp;</span><span style="font-size:16px;">%u&nbsp;</span><span style="font-size:16px;">%U</span><span style="font-size:16px;">&nbsp;%v&nbsp;</span><span style="font-size:16px;">%D</span><span style="font-size:16px;">&nbsp;%T&nbsp;</span><span style="font-size:16px;">%{Referer}i</span><span style="font-size:16px;">&nbsp;</span><span style="font-size:16px;">%{User-Agent}i&nbsp;</span><span style="font-size:16px;">%{X-Forwarded-For-Pound}i</span><span style="font-size:16px;">&nbsp;</span><span style="font-size:16px;">%{HTTP_X_UP_CALLING_LINE_ID}i</span><span style="font-size:16px;">&nbsp;</span><span style="font-size:16px;">%{x-up-calling-line-id}i&nbsp;</span><span style="font-size:16px;">"&nbsp;</span> 
        </div>

        <div style="color:#3333FF;">
            <i><span style="font-size:16px;">访问:</span><i> 
            <div>
                <span><i> 
                <div>
                    <i> 
                    <div>
                        <span><span><i> 
                        <div>
                            <span style="font-size:16px;">http://192.168.1.54:8080/ToolsWS</span> 
                        </div>

                    </div>

                </div>

            </div>

        </div>
        <div style="color:#3333FF;">
            <span style="font-size:16px;">日志将记录:</span> 
        </div>
        <div>
            <i> 
            <div>
                <span><span><i></i></span></span> 
                <div>
                    <span></span> 
                    <div>
                        <span><i></i></span> 
                        <div>
                            <span><span><i> 
                            <div>
                                <i> 
                                <div>
                                    <span><span><i> 
                                    <div>
                                        <i> 
                                        <div>
                                            <span><span><i> 
                                            <div>
                                                <div>
                                                    <span style="font-size:16px;">192.168.1.54:&nbsp;</span><span style="font-size:16px;">192.168.1.102</span><span style="font-size:16px;">&nbsp;127.0.0.1&nbsp;</span><span style="font-size:16px;">367</span><span style="font-size:16px;">&nbsp;367&nbsp;</span><span style="font-size:16px;">192.168.1.102</span><span style="font-size:16px;">&nbsp;HTTP/1.1&nbsp;</span><span style="font-size:16px;">-</span><span style="font-size:16px;">&nbsp;GET&nbsp;</span><span style="font-size:16px;">8080</span><span style="font-size:16px;">&nbsp;?stylesheet=1&nbsp;</span><span style="font-size:16px;">GET /ToolsWS/?stylesheet=1 HTTP/1.1</span><span style="font-size:16px;">&nbsp;200&nbsp;</span><span style="font-size:16px;">-</span><span style="font-size:16px;">&nbsp;[19/Jan/2012:15:37:57 +0800]&nbsp;</span><span style="font-size:16px;">-</span><span style="font-size:16px;">&nbsp;/ToolsWS/&nbsp;</span><span style="font-size:16px;">192.168.1.54</span><span style="font-size:16px;">&nbsp;11</span><span style="font-size:16px;">0.011</span><span style="font-size:16px;">&nbsp;http://192.168.1.54:8080/ToolsWS&nbsp;</span><span style="font-size:16px;">Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7</span><span style="font-size:16px;">&nbsp;-&nbsp;</span><span style="font-size:16px;">-</span><span style="font-size:16px;">&nbsp;-</span> 
                                                </div>
                                            </div>

                                        </div>

                                    </div>

                                </div>

                            </div>

                        </div>
                    </div>
                    <div>
                        <i></i> 
                        <div>
                            <i><span><i></i></span></i> 
                            <div>
                                <i><i></i></i> 
                                <div>
                                    <i><span><span><i></i></span></span></i> 
                                    <div>
                                        <i><i></i></i> 
                                        <div>
                                            <i><span><span><i></i></span></span></i> 
                                            <div>
                                                <i><span style="font-size:16px;">推荐使用:</span></i>
                                                <div>
                                                    <div>
                                                        <i><span><i></i></span></i> 
                                                        <div>
                                                            <i><i></i></i> 
                                                            <div>
                                                                <i><span><span><i></i></span></span></i> 
                                                                <div>
                                                                    <i><i></i></i> 
                                                                    <div>
                                                                        <i><span><span><i></i></span></span></i> 
                                                                        <div>
                                                                            <i></i> 
                                                                            <div>
                                                                                <i><i></i></i> 
                                                                                <div>
                                                                                    <i><span><i></i></span></i> 
                                                                                    <div>
                                                                                        <i><i></i></i> 
                                                                                        <div>
                                                                                            <i><span><span><i></i></span></span></i> 
                                                                                            <div>
                                                                                                <i><i></i></i> 
                                                                                                <div>
                                                                                                    <i><span><span><i></i></span></span></i> 
                                                                                                    <div>
                                                                                                        <i></i> 
                                                                                                        <div>
                                                                                                            <i><i></i></i> 
                                                                                                            <div>
                                                                                                                <i><i><span><i></i></span></i></i> 
                                                                                                                <div>
                                                                                                                    <i><i><i></i></i></i> 
                                                                                                                    <div>
                                                                                                                        <i><i><span><span><i></i></span></span></i></i> 
                                                                                                                        <div>
                                                                                                                            <i><i><i></i></i></i> 
                                                                                                                            <div>
                                                                                                                                <i><i><span><span><i></i></span></span></i></i> 
                                                                                                                                <div>
                                                                                                                                    <i><i><span></span></i></i> 
                                                                                                                                    <div>
                                                                                                                                        <i><i><span><i></i></span></i></i> 
                                                                                                                                        <div>
                                                                                                                                            <i><i><span><i><span><i></i></span></i></span></i> 
                                                                                                                                            <div>
                                                                                                                                                <i><span><i><i></i></i></span></i> 
                                                                                                                                                <div>
                                                                                                                                                    <i><span><i><span><span><i> 
                                                                                                                                                    <div>
                                                                                                                                                        <i> 
                                                                                                                                                        <div>
                                                                                                                                                            <span><i> 
                                                                                                                                                            <div>
                                                                                                                                                                <i> 
                                                                                                                                                                <div>
                                                                                                                                                                    <span><span><i> 
                                                                                                                                                                    <div>
                                                                                                                                                                        <span style="font-size:16px;">pattern="</span><span style="font-size:16px;">%a&nbsp;%b&nbsp;%t&nbsp;%u&nbsp;%U&nbsp;%v&nbsp;%D&nbsp;%T&nbsp;%{Referer}i&nbsp;%{User-Agent}i&nbsp;</span><span style="font-size:16px;">"&nbsp;</span>
                                                                                                                                                                    </div>

                                                                                                                                                                </div>

                                                                                                                                                            </div>

                                                                                                                                                        </div>

                                                                                                                                                    </div>

                                                                                                                                                </div>
                                                                                                                                            </div>

                                                                                                                                        </div>
                                                                                                                                    </div>
                                                                                                                                </div>
                                                                                                                            </div>
                                                                                                                        </div>
                                                                                                                    </div>
                                                                                                                </div>
                                                                                                            </div>
                                                                                                        </div>
                                                                                                    </div>
                                                                                                </div>
                                                                                            </div>
                                                                                        </div>
                                                                                    </div>
                                                                                </div>
                                                                            </div>
                                                                        </div>
                                                                    </div>
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

        </div>

    </div>
</div>

centos 6 系统优化

公司开发环境使用的是centos+virtualbox,只是为了方便开发做了一些基本的优化,既然是内部开发环境,首先保证的是开发方便少灵异事件,其它安全性和性能基本没有要求.

1.关闭iptables 和selinux
iptables:

service iptables stop
chkconfig iptables off
service ip6tables stop
chkconfig ip6tables off

selinux:
临时关闭 setenforce 0
永久关闭 vi /etc/selinux/config 加入或更改为 SELINUX=disabled 注意需要重启生效

2.调整最大打开文件数调整为65535

系统默认为1024

vi /etc/security/limits.conf

加入

*           soft   nofile       65535
*           hard   nofile       65535

3.关闭ipv6

vi /etc/modprobe.d/dist.conf

在最后加入

alias net-pf-10 off
alias ipv6 off    之后重启电脑

4.每天四点和国家授时中心进行时间校正

vi /etc/crontab

加入

* 4 * * * /usr/sbin/ntpdate 210.72.145.44 

5.vi 默认开启 语法高亮 显示行号 鼠标定位等

vi /etc/vimrc

加入 syntax on set nu
如果想用在vi中使用鼠标确定位置,可以加入set mouse=a(我没加,视个人爱好)

6.增加admin组用户默认有sudo 权限

visudo

加入

%admin ALL=(ALL)       NOPASSWD: ALL

保存退出,之后:

groupadd admin

这样以后加有管理员权限的账户只要用 useradd -Gadmin XXX 就可以了

7.安装 Vbox Guset Additions

点虚拟机窗口上的设备-->安装增强功能,之后登陆终端
a.挂光驱

mkdir /cdrom
mount /dev/sr0 /cdrom  (是不是sr0 视个人情况)

b. 安装依赖环境

yum install gcc
yum instal kernel-devel
yum install dkms

c.安装

cd /cdrom
./VBoxLinuxAdditions.run

d.重启测试 (鼠标自动移出 等)

8.禁用GSSAPI和 DNS反向解析来提高ssh连接速度

同时关闭空密码用户登陆,允许root login

vi /etc/ssh/sshd_config

设置以下几项为

GSSAPIAuthentication no
UseDNS no
PermitEmptyPasswords no
PermitRootLogin yes

保存 service sshd restart
9.设置用户6小时未操作注销终端

vi /etc/profile
export TMOUT=21600

10.取消生成whatis数据库和locate数据库,防止重建数据库时cpu内存占用过高的情况

rm -rf /etc/cron.daily/makewhatis.cron 
rm -rf /etc/cron.daily/mlocate.cron 

11.tcp 性能优化

vi  /etc/sysctl.conf

加入

net.ipv4.tcp_fin_timeout = 1 
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_mem = 94500000 915000000 927000000 
net.ipv4.tcp_tw_reuse = 1 
net.ipv4.tcp_timestamps = 0 
net.ipv4.tcp_synack_retries = 1 
net.ipv4.tcp_syn_retries = 1 
net.ipv4.tcp_tw_recycle = 1 
net.core.rmem_max = 16777216 
net.core.wmem_max = 16777216 
net.core.netdev_max_backlog = 262144 
net.core.somaxconn = 262144 
net.ipv4.tcp_max_orphans = 3276800 
net.ipv4.tcp_max_syn_backlog = 262144 
net.core.wmem_default = 8388608 
net.core.rmem_default = 8388608 

12.关闭并取消没用程序的开机启动查看所有服务

chkconfig --list

查看启动的服务 chkconfig --list |grep :on
先用service 服务名 stop 关闭
在用chkconfig 服务名 off 取消开机启动
只保留以下程序

NetworkManager 
cpuspeed 
crond
haldaemon
irqbalance
kdump
lvm2-monitor
messagebus 
portreserve 
rsyslog 
spice-vdagentd 
sshd 
sysstat
udev-post 
vboxadd 
vboxadd-service 
vboxadd-x11

13.日志定时清除

# backup sys log every day 1:01 
28 04 * * * root /opt/scripts/cron/backuplog.sh 
# clear backup sys log every month 1 1:30 
30 1 1 * * root /opt/scripts/cron/clearlog.sh
/opt/scripts/cron/backuplog.sh 
#!/bin/sh 
Day=$(date +%Y%m%d) 
tar -cf /var/log/wtmp_"$Day".tar.gz /var/log/wtmp
echo "">/var/log/wtmp 
tar -cf /var/log/utmp_"$Day".tar.gz /var/run/utmp
echo "">/var/run/utmp
/opt/scripts/cron/clearlog.sh 
#!/bin/sh
Day=$(date -d "-2 month" +%Y%m) 
rm -f /var/log/wtmp_"$Day"*.tar.gz
rm -f /var/log/utmp_"$Day"*.tar.gz 

14.安装jdk telnet mysql 等常用软件

mysql未启动,使用请chkconfig mysql on service mysql start 即可

15 禁用ctrl+alt+del自动重启

注释掉

exec /sbin/shutdown -r now "Control-Alt-Delete pressed" 

16 删除日志,命令行记录 导出虚拟机

rm -rf /var/log/wtmp
rm -rf /var/run/utmp
rm -rf /root/.bash_history

经测试vbox 配置双核 1G时 ,使用上面的镜像开机速度可以在10秒左右,当然linux的开机速度提升并没有实际意义

最新文章

最近回复

分类

归档

统计

  • 文章总数:168篇
  • 分类总数:5个
  • 评论总数:103条
  • 页面总数:172个
  • 本站运行:4870天

其它