比较两个字符串是否相等的办法是: if [ “test”x = “test”x ]; then

这里的关键有几点:

1 使用单个等号

2 注意到等号两边各有一个空格:这是unix shell的要求

3 注意到”test”x最后的x,这是特意安排的,因为当test为空的时候,上面的表达式就变成了x = testx,显然是不相等的。而如果没有这个x,表达式就会报错:[: =: unary operator expected

阅读全文

bonnie++(Version: 1.03)的使用方法以及结果的含义。

usage: bonnie++ [-d scratch-dir] [-s size(Mb)[:chunk-size(b)]]
[-n number-to-stat[:max-size[:min-size][:num-directories]]]
[-m machine-name]
[-r ram-size-in-Mb]
[-x number-of-tests] [-u uid-to-use:gid-to-use] [-g gid-to-use]
[-q] [-f] [-b] [-p processes -y]

阅读全文

linux 内核调整相关参数

net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;

net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;

net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。

net.ipv4.tcp_fin_timeout = 30 表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。

net.ipv4.tcp_keepalive_time = 1200 表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。

net.ipv4.ip_local_port_range = 1024 ? ?65000 表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。

net.ipv4.tcp_max_syn_backlog = 8192 表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。

net.ipv4.tcp_max_tw_buckets = 5000 表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。默认为180000,改为5000。对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,但是对于Squid,效果却不大。此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。

阅读全文

安装配置mod_perl

centos 5.0内已带用mod_perl,机器没有的话用yum安装: yum -y install mod_perl 修改mod_perl配置文件: vi /etc/httpd/conf.d/perl.conf LoadModule perl_module modules/mod_perl.so PerlModule Apache::compat <Location /perl-status> SetHandler perl-script PerlResponseHandler Apache::Status Order deny,allow # Deny from all Allow from all vi /etc/httpd/conf/httpd.conf 改/var/www/html部分,以便用perl程序在/下能运行: # <Directory “/var/www/html”> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders Options +ExecCGI # Options Indexes FollowSymLinks Order allow,deny Allow from all 编写一个测试页: vi /var/www/html/test.pl #!/usr/bin/perl -w use strict; print “Content-type: text/htmlnn”; print “Date: “, scalar localtime, “n”; print “%ENV:n”, map { “_ = ENV{$_}n” } keys %ENV; 设置运行权限: chmod 755 /var/www/html/test.

阅读全文

monit 监控并自动重启服务

Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,用于Unix平台。 它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误。 monit运行于应用层安装很简单,三部曲: #./configure#make #make install 复制配置文件 # cp monitrc /etc/monitrc 接下来我们根据实际情况来修改这个配置文件 set daemon 120 # Poll at 2-minute intervals//每2分钟检查一次 set logfile /home/monit/log/monit.log //monit的日志文件 set alert with reminder on 1 cycle //出现1次错误的时候发报警邮件到指定的邮箱 #set mailserver mail.tildeslash.com, mail.foo.bar port 10025, localhost with tim eout 15 seconds set mailserver 10.10.9.109 //设置邮件服务器set httpd port 2812 and use address 10.10.8.2 //设置http监控页面的端口和ip allow localhost # Allow localhost to connect //允许本机访问 allow 10.10.8.0/24 //允许此IP段访问 allow admin:nishiwode # Allow Basic Auth //认证的用户名和密码# all system //平均负载.

阅读全文

作者的图片

阿辉

容器技术及容器集群等分布式系统研究

容器平台负责人

上海