微录 2016-03-29

公司VPN 用Linux 远程连接问题(FF):



  1. sudo apt-get install openjdk-7-jdk icedtea-7-plugin

  2. 安装 snx , 执行snx 报错 找不到libstdc++......

  3.  ldd /usr/bin/snx  |grep "not found"(会显示不支持)

  4. apt-get install libstdc++5:i386 libpam0g:i386



Checkpoint SNX on Ubuntu 14.04 LTS (Trusty Tahr)



博客 2016-03-11

简介:

python 连接Oracle 过程总结(Linux)


下载Oracle客户端: 

下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 

需要注册


下面几个(py27代表python2.7版本):

cx_Oracle-5.1.2-11g-py27-1.x86_64.rpm (https://sourceforge.net/projects/cx-oracle/files/)

instantclient-basic-linux.x64-12.1.0.2.0.zip

instantclient-sdk-linux.x64-12.1.0.2.0.zip


安装过程:

1.安装包

$unzip instantclient-basic-linux.x64-12.1.0.1.0.zip
$sudo cp -r instantclient_12_1 /opt

unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
cp sdk instantclient_12_1

$vi /etc/profile
export ORACLE_HOME=/opt/instantclient_12_1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME

$source /etc/profile


2.用PIP安装

pip install cx_Oracle


连接方法: 

博客 2016-03-09

简介:

平时会遇到不同的需求:Json 转化表格;表格转化Json.....   但这里转换的是不规则的表格(如下图),如何转换? 

前提:这个表单保存在数据库一个字段里面!



常用方法:

1.JS脚本转换 主要是Jquery等方法,比较好用


2. Python 的模块解析SGMLParser等


3. 安装Nodejs 去解析 服务器端执行(有点大材小用)


表单如下:


blob.png


HTML内容如下:

博客 2016-02-26


app:auto 

在auto 下面新建templatetages __init__.py为空

[root@56ee92471bf3 apps]# tree auto/
auto/
├── admin.py
├── views.py
├── __init__.py
├── templatetags
│   ├── __init__.py
│   ├── myfilter.py


[root@56ee92471bf3 apps]# cat auto/templatetags/myfilter.py
#!/usr/bin/python
# -*- coding : utf-8 -*-
 
from django import template  
register = template.Library()  

def too(value,arg=None):  
    return value + value
register.filter('too', too)



html代码:

{% load myfilter %}
{% for line  in allresult %}
{{line|too}} <br/>

{% endfor %}


注意:

需要重启,才能加载刚才的类


参考:https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#writing-custom-template-filters

博客 2016-02-26


当一条命令执行不成功,执行另外的命令,可以使用when 与register ,使用如下


yaml:

blob.png


执行结果:

blob.png


参考:http://blog.csdn.net/ggz631047367/article/details/50359127

   http://blog.laisky.com/p/ansible/


博客 2016-02-26

简介:

js 判断不是IP,阻止post ,也可以用来判断是否手机号!


HTML: 


blob.png


form 内容:

 <textarea name="ippasswd"   required="required" style="color:gray" id="ippasswd" 
 class="span4" rows="10" cols="30" 
 placeholder="填写格式如下:&#13;&#10;IP1;passwd1&#13;&#10;IP2;passwd2&#13;&#10;IP3;passwd3">
 </textarea>


button 格式:

<button type="submit" class="btn btn-primary" onclick="return openurl()">{% trans "Submit" %}</button>


js 内容: 

博客 2016-01-26

简介:

https 握手的过程,证书的颁发,下面一一讲来。

原理如下图,服务器与客户端的证书都是对等的


ssl.png


证书生成步骤:

第一步:

服务器生成自己的CA主证书

第二步:

生成服务器端证书

第三步:

用服务器生成的CA主证书,给服务器证书签证

第四步:(如果客户端是另外一台服务器,也需要)

把CA 证书放到OS的证书库里面


具体实现: 

生成根密钥:

cd /etc/pki/CA/

touch ./{serial,index.txt}

echo "00" > serial

openssl  genrsa -out private/cakey.pem 2048

 

生成主证书:

openssl  req -new -x509 -key private/cakey.pem -days 3650 -out cacert.pem

 

 

生成nginx key与证书:

cd /etc/ssl/

 openssl genrsa -out nginx.key 2048

  openssl  req -new -key nginx.key -out nginx.csr

  

用主证书签发生成nginx 证书


openssl ca -in nginx.csr -days 3650 -out nginx.crt

 

 

cp /etc/pki/tls/certs/ca-bundle.crt{,.bak} 

cat /etc/pki/CA/cacert.pem >> /etc/pki/tls/certs/ca-bundle.crt  #因为是自签的证书,此步骤的意义在于让系统接受该证书

 

博客 2016-01-16

简介:

进入API操作的第一步就是登陆,网上资源很少,在些做个总结,转载请注明出处

http://blog.mreald.com/180


1.WEB上验证 api

地址:http://jsfiddle.net/U6qwK/6/

输入你的URL、Login_name、Password ,查看调用结果(支持本地验证哦!)


tt.PNG



2.通过Curl 命令行验证

 
curl -X POST -H 'Content-Type:application/x-www-form-urlencoded; charset=UTF-8' -d 'auth_user=itop&auth_pwd=213xxx&json_data=%7B%22operation%22%3A%22list_operations%22%7D'  "http://IP/web/webservices/rest.php?version=1.3"

或者


curl -X POST -H 'Content-Type:application/x-www-form-urlencoded; charset=UTF-8' -d 'json_data={"operation": "list_operations"}' -d  'auth_user=itop&auth_pwd=1cc0zx'
http://100.713.191.60/web/webservices/rest.php?version=1.3

3. 写python 脚本验证 

博客 2015-11-24



bash copy-id.sh 就可以了。 没有安装expect的 yum install expect 



cat host
192.168.0.11:passwd11
192.168.0.12:passwd12


cat copy-id.sh

#!/bin/bash

cat  ~/host |while read line
do
echo $line
PS=${line#*:}
IP=${line%:*}

expect <<-EOF

spawn ssh-copy-id $IP
puts $PS
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password:" { send "$PS\r" }
}

expect "*Number*"
expect eof
EOF

done


博客 2015-09-22


    Zabbix可以通过自发现添加主机,不过有时候不准确,通过API添加会更加准确!

使用效果:

aa.PNG


Excel 格式:


aa.PNG

i-- 3/10 i++