海运的博客

Awk/Sed中调用shell变量方法

发布时间:May 19, 2012 // 分类:Shell // No Comments

Awk和Sed是Linux下很强大的两个文件处理工具,在编写Shell的时候经常要调用变量,记录调用方法。
1.Awk中调用方法:
1.1.使用"'$var'"方式:

#/bin/bash
num=1
awk -F: '{print $"'$num'"}' /etc/passwd

1.2.通过awk -v参数定义:

#!/bin/bash 
num=1
awk -v a=$num -F: '{print $a}' /etc/passwd

2.Sed中调用方法:

#!/bin/bash
#https://www.haiyun.me
for ((i=1; i<25; i++))
do
        ip=`sed -n "$i"p ip.txt`
        sed -i ''"$i"' s/$/ '"$ip"'/' ip-mac.txt
done

PHP动态编译添加snmp模块

发布时间:May 19, 2012 // 分类:PHP // No Comments

因程序原因需临时添加snmp支持,不想重新编译php,可动态编译添加snmp模块。
进入PHP源码扩展目录:

cd php-5.2.17/ext/snmp
/usr/local/php/bin/phpize 
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

加载模块:

cat >> /usr/local/php/etc/php.ini <<EOF
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension=snmp.so
EOF

重新加载配置文件,查看snmp.so是否加载。

php -m

Apache配置301重定向

发布时间:May 19, 2012 // 分类:Apache // No Comments

网站目录或网页出现变动要使用301重定向转移权重,有时域名也要将www.haiyun.me重定向到www.haiyun.me,本文记录下Apaceh下301重定向方法,Nginx下301重定向请参考:https://www.haiyun.me/archives/nginx-301.html
1.使用RedirectMatch和Redirect重定向,这两个命令使用方法相似,RedirectMatch支持正则表达式,可以批量重定向。
使用语法:

Redirect [status] URL URL
RedirectMatch [status] regex URL

[status]可用参数:

permanent 返回永久性重定向状态码(301),表示此资源的链接变动是永久性的。
temp 返回临时性重定向状态码(302),默认值。
seeother 返回一状态码(303),表示此资源已经被替代。
gone 返回状态码(410),表示此资源已经被永久性地删除了。如果指定了这个状态码,则URL参数将被忽略。

应用示例:

Redirect permanent /index.html https://www.haiyun.me/index.php
RedirectMatch 301 (.*).gif$ https://www.haiyun.me/$1.jpg

2.使用URL重写模块mod_rewrite重定向

RewriteEngine on
rewritecond %{http_host} ^www.haiyun.me [nc] #定义主机名变量,匹配执行下条规则。
rewriterule ^/(.*)$ https://www.haiyun.me/$1 [r=301,nc] #301重定向到www.haiyun.me,nc不区分大小写。

SNMP管理工具之snmpnetstat查看服务器网络状态

发布时间:May 19, 2012 // 分类:系统监控 // No Comments

snmpnetstat类似于netstat命令,用于通过snmp协议查看远程服务器网络状态。
使用语法:

snmpnetstat [common options] [-Ca] [-Cn] [-Cs] [-Cp protocol] AGENT

常用参数:

-Ca 输出所有连接
-Ci 输出所有网络接口统计数据
-CI 输出指定网络接口统计数据
-Cn IP地址方式输出
-Cp 输出TCP协议
-Cs 输出各种协议统计数据
-Cr 输出路由表

应用示例:
查看远程服务器所有TCP连接:

snmpnetstat -v 2c -c public -Canp tcp  www.haiyun.me

输出结果:

Active Internet (tcp) Connections (including servers)
Proto Local Address          Remote Address         (state)
tcp   *.22                   *.*                   LISTEN
tcp   *.80                   *.*                   LISTEN
tcp   *.111                  *.*                   LISTEN
tcp   *.443                  *.*                   LISTEN
tcp   *.3306                 *.*                   LISTEN
tcp   127.0.0.1.25           *.*                   LISTEN
tcp   127.0.0.1.199          *.*                   LISTEN
tcp   192.168.1.2.22         192.168.1.16.3817     ESTABLISHED
tcp   192.168.1.2.22         192.168.1.16.23730    ESTABLISHED

Cacti监控TCP连接状态

发布时间:May 19, 2012 // 分类:Cacti // No Comments

Cacti服务端新建TCP状态获取脚本:

wget https://www.haiyun.me/download/tcp-connections.zip
unzip tcp-connections.zip

修改get_tcp_connections脚本目录:

CACTIDIR=/cactipath/scripts

修改cacti_graph_template_tcp_connections.xml模板内脚本路径:

/bin/bash /var/www/htdocs/cacti/scripts/get_tcp_connections

然后在Cacti界面导入cacti_graph_template_tcp_connections.xml模板。
TCP连接状态监控效果如下:
cacti监控tcp连接.png

分类
最新文章
最近回复
  • 海运: 可能版本问题
  • 海运: 如果运营商限制型号
  • 海运: 没有
  • Mruru: 烽火猫切换rootfs的方法有么大佬?
  • nono: 修改光猫型号是做啥子用的
  • 960: root账号默认密码hg2x0 不对哇
  • rer: 感谢分享!~
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
归档