天天看点

日常的修修补补 17.FFMPEG 视频旋转设置 (摘抄自:http://www.cnblogs.com/rubekid/p/3765879.html)

说明:所有日常中遇到的一两句话就能解决的问题,都将记录在这(长期更新)

1.ats日志squid.blog,查看需要traffic_logcat命令,而又想tail -f 实时查看,经测试 tail -f squid.blog |traffic_logcat 和  traffic_logcat `tail -f squid.blog ` 都不行。

    解决方法: 修改ats的日志格式

    折中方法:watch  -n 1 -d 'traffic_logcat squid.blog|tail -20'   如果速度比较慢,这个是可以满足需求的

2.新版本ats remap 记录类似 map http://www.baidu.com/ http://1.1.1.1/不能正常访问问题:

解决方法: proxy.config.url_remap.pristine_host_hdr  置为1  (功能是保持原来的head不变)

3.Centos 低版本默认不自带pptpd gcc4.8等软件

解决方法:更新repo: wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo

4.apache 301跳转:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.linzb.com [NC]

RewriteRule ^(.*) http://www.baidu.com/ [R=301,L]

5.时间同步:

ntpdate pool.ntp.org

6.可用的m3u8源:

http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8

rtmp://live.hkstv.hk.lxdns.com/live/hks

rtmp://red.88sps.com:14003/bjl03/myFlow

7.iptables转发:

  iptables -t nat -I PREROUTING -p tcp --dport 1935 -j DNAT --to-destination 121.14.151.218

  iptables -t nat -I POSTROUTING -p tcp --dport 1935 -j  MASQUERADE

8.squid.log日志时间转换:

vi time.pl 

内容为:

#! /usr/bin/perl -p

s/^\d+\.\d+/localtime $&/e

9.统计squid.log某个时间段以后的域名访问:

cat   /opt/ats/var/log/trafficserver/squid.log|sed -n '/14659871/,$p'|awk '{print $7}' |grep -o '\/\/.*\....\/'|sort -rn|uniq  -c|sort -rn|head -10

./time.pl squid.log|grep "Jul 14"|grep -o '\/\/.*\....\/'|sort -rn|uniq  -c|sort -rn|head -10

10.pfx提取密钥:

 openssl pkcs12 -in  macncn.pfx -nodes -out server.pem

   pfx转cer格式:

 openssl pkcs12 -nodes -nokeys -in 1.pfx -passin pass:证书密码 -out 1.cer

 生成Keystore:

 openssl pkcs12 -export -name test-alias -in public-rsa.cer -inkey private-rsa.key -out 99bill-rsa.pfx

  pfx格式证书转换为pem格式命令:

 openssl pkcs12 -in 99bill-rsa.pfx -passin pass:生成证书设置的密码 -nodes -out 99bill-rsa.pem

11.查看一个网站使用的web软件等信息:

http://uptime.netcraft.com/up/graph?site= 

###site=后面加上网站名即可,比如

<a href="http://uptime.netcraft.com/up/graph?site=www.vn9886.com" target="_blank">http://uptime.netcraft.com/up/graph?site=www.vn9886.com</a>

13.证书和密钥配对测试

(1)提取证书里面的公钥

openssl x509 -outform PEM -in loappgs.com.cer -pubkey &gt;loa.pubkey

    loappgs.com.cer是证书,loa.pubkey还需要把BEGIN CERTIFICATE段去掉,保留public key段

(2)公钥加密某个文件

openssl  rsautl -in 1.txt  -out loa.txt -inkey  loa.pubkey  -pubin -encrypt

    1.txt是文件,loa.txt是输出的文件,loa.pubkey是公钥

    &lt;有时候会提示:

RSA operation error

47230690259912:error:0406D06E:rsa routines:RSA_padding_add_PKCS1_type_2:data too large for key size:rsa_pk1.c:151:&gt;

这个是文件数据太大,无法加密,把文件内容变小一点即可

(3)私钥解密某个文件

 openssl  rsautl -in  loa.txt  -out 2.txt -inkey loappgs.com.key  -decrypt

loappgs.com.key是匹配的私钥,没有报错即匹配

14.mysql远程免密码登陆

可以在用户家目录下创建一个.my.cnf文件,配置client段:

[client]

password=your_password

user=your_username

15.daemontool的安装小问题和supervise的使用

<code>mkdir</code>  <code>/package</code>   <code>#这个是作者的习惯</code>

<code>cd</code> <code>/package/</code>

<code>wget http:</code><code>//cr</code><code>.yp.to</code><code>/daemontools/daemontools-0</code><code>.76.</code><code>tar</code><code>.gz</code>

<code> </code><code>tar</code> <code>xf daemontools-0.76.</code><code>tar</code><code>.gz</code>

<code> </code><code>cd</code> <code>admin</code><code>/daemontools-0</code><code>.76</code>

<code> </code><code>vi</code> <code>src</code><code>/conf-cc</code>   <code>#在gcc后面加 -include /usr/include/errno.h</code>

<code> </code> 

<code> </code><code>gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings -include </code><code>/usr/include/errno</code><code>.h </code>

<code>This will be used to compile .c files.</code>

<code>.</code><code>/package/install</code>

使用:

    supervise默认会去启动/service(这个目录安装时会自己创建)里面的服务,这个目录里面都是一些软连接,每个软连接下都有run运行脚本,比如我们要监控启动srs服务:

    先在启动路径建立run文件:

cd /usr/local/srs

vi run

#!/bin/bash

./objs/srs -c ./conf/edge.conf

chmod +x run

ln -s  /usr/local/srs  /service/srs 

     有人会问,supervise监控进程启动,那么supervise自身挂掉了怎么办?

    其实supervise自身是有监控的,它的监控是通过/etc/inittab里面的respawn来的

       SV:123456:respawn:/command/svscanboot

    一般在sed 中替换都用单引号,如下边

        sed -in-place ‘s/8080/8001/g’ /home/work/server.xml

    但是如果需要把8001改成变量,如

        sed -in-place ’s/8080/$port/g‘ /home/work/server.xml

    这样就不成功。

    此时需要把单引号改成双引号,如下边例子

        $port=8001

        sed -in-place "s/8080/$port/g" /home/work/server.xml

18.sed截取域名例子

<a href="https://s4.51cto.com/wyfs02/M02/98/1A/wKioL1k3fjCSuGNAAABuHgMX2FI477.png" target="_blank"></a>

19.ats 推送自定义头部给源

例子:

cond %{SEND_REQUEST_HDR_HOOK}          ##匹配回源的钩子函数,默认是ats响应给请求的钩子函数

cond %{CLIENT-HEADER:Host}  /xxx.com/   ##条件判断

set-header sslckd ready                ##添加头部

cond %{SEND_REQUEST_HDR_HOOK}

cond %{CLIENT-HEADER:Host}  /(.*).xxx.com/

set-header sslckd ready

ats 头部钩子函数参考:https://docs.trafficserver.apache.org/en/latest/_images/graphviz-162e3dfba4a206d8ae260da270e5b5705ae5d64b.png

本文转自biao007h51CTO博客,原文链接:http://blog.51cto.com/linzb/1895390 ,如需转载请自行联系原作者