公告

每天让自己的技能提升1%,2年后你就是行业内的专家

博客统计信息

51cto推荐博客
用户名:mcshell
文章数:60
评论数:65
访问量:76738
无忧币:804
博客积分:1058
博客等级:5
注册日期:2009-05-31

我最近发表的评论

nginx 日志文件分割 回复
#/bin/bashlogs_path="/data1/..
nagios被监控端nr.. 回复
默认nagios里面是有的 在libexec下
通过putty进行翻墙 回复
哈哈,技术无边界,有时候去国外的..
perl中的hash练习.. 回复
将散列%count中的值列表取出来并且..
openvpn+mysql+fr.. 回复
yum -y install libgcrypt* crypt*
有时候在Nginx的伪静态中,二级目录无法自动加斜杠,导致目录无法打开。可以加
optimize_server_names off;
server_name_in_redirect off;但是又时候可能不通用,所以在虚拟主机中加入一段万能的代码if (-d $request_filename){

                        rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;

              ..
类别:nginx|阅读(10)|回复(0)|(0)阅读全文>>

这段时间新闻都在说铁道部的网站总是打不开,P民们总是在网站上买不到票,说访问人数多,不要重复点刷新等等。。感觉都是在说废话,广大人民群众不就是春运才去你网站上买,平时谁TMD没事做上你的网站,人家优酷,QQ服务器怎么不挂…好了说这么多,教大家一个方法来买吧。成功率90%以上。
首先用ping.chinaz.com    ping出12306.cn的全国IP,因为12306.cn用的是智能DNS,如图

然后找一个人比较少的地区,就拿厦门来说吧。
打开路径:C:\WINDOWS\system32\drivers\etc下的hosts
然后绑定12306.cn的IP

重新打开浏览器 ,然后去购买,购买过程我就不再写了。
祝大家都能买到回家的火车票….
希望成功买到票的留个言哈。

 [/img]..
说下思路,利用PHP的curl函数储存cookie,google搜索页面是无法用file_get_connents打开的,必须要完全模拟浏览器才行,百度就不同了,直接用file_get_conntens抓取页面,然后用正则处理下就行了,这里就不列举百度了。code如下,有问题请联系我
 
<?php  header("Content-Type: text/html;charset=utf-8");   function ggsearch($url_s, $keyword, $page = 1) {          $enKeyword = urlencode($key..
类别:php|阅读(126)|回复(1)|(1)阅读全文>>
 此段代码可以打印文本中的随机行数,例如,一个文本中有1W行,我需要随机取出500行。
 
$file="txt"; $data=file_get_contents($file); $arr=explode("\n",$data); $count=count($arr)-1; $num=500; for($i=1;$i<=$num;$i++){ $n=rand(0,$count); echo $arr[$n]."\n"; } 
类别:php|阅读(0)|回复(0)|(0)阅读全文>>
拓扑图如下:
 
 

同步目标服务器
Vim /etc/rsyncd.conf

 
uid=root  gid=root  max connections=36000  use chroot=no log file=/var/log/rsyncd.log  pid file=/var/run/rsyncd.pid  lock file=/var/run/rsyncd.lock     [web]  path=/data0/web  comment  =  McShell web  ignore errors = yes  read only = no hosts allow =  10.1.0.0/24  hosts deny = * 

编辑完之后执行rsync –daemon 开启守护进程
剩下的服务器都一样配置。
 
同步服务器的confxml.xml如下

 
<?xml version="1.0" encoding="ISO-8859-1"?> <head version="2.2">     <host hostip="10.1.0.2" port="8008"></host>     <filter start="false">         <exclude expression="(.*)\.gz"></exclude>         <exclude expression="^info/*"></exclude>     </filter>     <sersync>         <localpath watch="/data0/web " debug="false">             <remote ip="10.1.0.4" name="web"/>             <remote ip="10.1.0.5" name="web"/>             <remote ip="10.1.0.6" name="web"/>                <!--<remote ip="192.168.8.39" name="tongbu"/>-->         </localpath>            <rsyncauth start="flase" users="www" passwordfile="/etc/rsync.pas"/>         <crontab start="false" schedule="600">             <crontabfilter start="false">                 <exclude expression="*.php"></exclude>                 <exclude expression="info/*"></exclude>             </crontabfilter>         </crontab> </sersync> </head> 


然后执行:
./sersyncphp –d  在主服务器上开启sersync守护进程,使sersync在后台运行,开启实时同步。.
./sersyncphp –r   在开启实时监控的之前对主服务器目录与远程目标机目录进行一次整体同步
扩展:
如果进行多个目录同步,复制出多个confxml.xml即可,名称根据自己来定义,不可相同。
执行
./sersync -o XXXX.xml
[/img]..
类别:LINUX|阅读(30)|回复(0)|(0)阅读全文>>
 
<?     $language=$_SERVER["HTTP_ACCEPT_LANGUAGE"];     $lang="en";     if ( strpos($language,$lang) == false ){            //如果客户端的浏览器语言不是en的则不跳转     if(isset($_SERVER['HTTP_REFERER'])){                //判断源地址的链接,..
类别:php|阅读(56)|回复(4)|(2)阅读全文>>
在magento的开发和模板调试的时候都需要加入一些分类和产品,等到网站正式上线的时候又是很麻烦的事情,所以自己写了一个php,用于清除产品和分类

<form action="" method="post">
    
Enter check product web:
    
    <input type="text" name="web"    size="40" maxlength="40"/>
    
    <input type="submit" name="sub" value="submit">
    
&nb..
类别:mysql|阅读(59)|回复(1)|(0)阅读全文>>
2011-03-22 09:59:54
由于工作需要,需要批量建立网站,修改配置文件。开始时用sed去批量修改的,最后改装成perl了。


#!/usr/bin/perl
while(<>){
chomp;
@line=split(/\s+/,$_);
open FH,"< /home/test/$line[0]/wp-config.php";
my @webfile;
while(<FH>){
        s/(ME|ER)', 'root/$1', '$line[1]/g;
        push @webfile,$_;
}
close FH;
open FH,"> /home/test/$line[0]/wp-config.php";
print FH for @webfile; #相当于for..
2011-03-18 11:46:04
本脚本适用于apache的配置文件,进行批量建站。

#!/usr/bin/perl
while(<>){
                chomp;
                my @p=split (/ /,$_);
                print <<SITE;
<VirtualHost $p[2]:80>
       &n..
由于有时候要批量的用ping检查服务器的IP是否可用,一个一个的ping太麻烦了,所以利用perl中的Net::ping模块,代码如下use warnings;
open AA,"ip";
use Net::Ping;
chomp(@ARGV=<AA>);
foreach $host (@ARGV){
$p = Net::Ping->new("icmp");

# print "$host is alive.\n" if $p->ping($host,5);
print "$host is ";
                print "lost " unless $p->ping($host, 2);
        ..
 <<   1   2   3   4   5   >>   页数 ( 1/6 )