日常的修修補補

說明:所有日常中遇到的一兩句話就能解決的問題,都將記錄在這(長期更新)


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=後面加上網站名即可,比如

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




13.證書和密鑰配對測試

(1)提取證書裏面的公鑰

openssl x509 -outform PEM -in loappgs.com.cer -pubkey >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是公鑰

    <有時候會提示:

RSA operation error

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

這個是文件數據太大,無法加密,把文件內容變小一點即可

(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的使用

mkdir  /package   #這個是作者的習慣
cd /package/
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
 tar xf daemontools-0.76.tar.gz
 cd admin/daemontools-0.76
 vi src/conf-cc   #在gcc後面加 -include /usr/include/errno.h
 
 gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings -include /usr/include/errno.h 

This will be used to compile .c files.

./package/install

使用:

    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

 

16.sed 引用變量方法(內容從http://blog.163.com/wf_shunqiziran/blog/static/17630720920122654616641/ 拷貝過來的 )

    一般在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

17.FFMPEG 視頻旋轉設置

(摘抄自:http://www.cnblogs.com/rubekid/p/3765879.html)

fmpeg -i inputfile.mp4 -vf "transpose=1" outputfile.mp4

0=90CounterCLockwise and Vertical Flip  (default) 
1=90Clockwise 
2=90CounterClockwise 
3=90Clockwise and Vertical Flip

旋轉180度可用 transpose=2,transpose=2

去掉metadata 中的rotate 屬性
-metadata:s:v:0 rotate=0


18.sed截取域名例子

wKioL1k3fjCSuGNAAABuHgMX2FI477.png


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


20.keystore 提取密鑰證書

 1. keytool   -importkeystore -srckeystore servercc.keystore   -destkeystore tmp.p12 -srcstoretype JKS   -deststoretype PKCS12

 2. openssl        pkcs12 -in tmp.p12 -nodes -out tmp.rsa.pem

 3. cat tmp.rsa.pem

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章