1:使用 expr 外部程式

加法 r=`expr 4 + 5`
echo $r
注意! '4' '+' '5' 这三者之间要有空白
r=`expr 4 * 5` #错误
乘法 r=`expr 4 \* 5`

2:使用 $(( ))
r=$(( 4 + 5 ))
echo $r

3:使用 $[ ]

r=$[ 4 + 5 ]
echo $r

乘法
r=`expr 4 \* 5`
r=$(( 4 * 5 ))
r=$[ 4 * 5 ]
echo $r

除法
r=`expr 40 / 5`
r=$(( 40 / 5 ))
r=$[ 40 / 5 ]
echo $r

减法
r=`expr 40 - 5`
r=$(( 40 - 5 ))
r=$[ 40 - 5 ]
echo $r

求余数
r=$[ 100 % 43 ]
echo $r

乘幂 (如 2 的 3 次方)
r=$(( 2 ** 3 ))
r=$[ 2 ** 3 ]
echo $r
注:expr 沒有乘幂
Tags: ,
备忘脚本
date取得分钟数
$(()) 运算

#execute every 5 minutes
a=`date +%M`
b=$(( $a % 5 ))
if [ $b = 0 ] ; then
       echo "execute it"
else
       echo "Not execute"
fi
Tags: ,
官方介绍:

MogileFS分布式文件存储系统,是由Six Apart所开发的,下面我们就来列出他的一些特性进行简要介绍。

应用层——不需要特殊的核心组件

无单点失败——mogileFS分布式文件存储系统安装的三个组件(存储节点、跟踪器、跟踪用的数据库),均可运行在多个 机器上,因此没有单点失败。(你也可以将跟踪器和存储节点运行在同一台机器上,这样你就没有必要用4台机器)推荐至少两台机器。

自动的文件复制——基于不同的文件“分类”,文件可以被自动的复制到多个有足够存储空间的存储节点上,这样可以满足这个“类别”的最少复制要求。比如你有一个图片网站,你可以设置原始的JPEG图片需要复制 至少三份,但实际只有1or2份拷贝,如果丢失了数据,那么mogileFS分布式文件存储系统可以重新建立遗失的拷贝数。用这种办法,MogileFS(不做RAID)可以节约磁盘,否则你将存储同样的拷贝多份,完全没有必要。

“比RAID好多了”——在一个非存储区域网络的RAID(non-SAN RAID)的建立中,磁盘是冗余的,但主机不是,如果你整个机器坏了,那么文件也将不能访问。 mogileFS分布式文件存储系统在不同的机器之间进行文件复制,因此文件始终是可用的。
Tags: ,
简单笔记一下,运行出错:

root@aslibra:~# ./axml2xml.pl
Can't locate Unicode/String.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ./axml2xml.pl line 24.
BEGIN failed--compilation aborted at ./axml2xml.pl line 24.


下载安装即可:

root@aslibra:/Data/tgz# wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Unicode-String-2.09.tar.gz
root@aslibra:/Data/tgz# tar xfz Unicode-String-2.09.tar.gz
root@aslibra:/Data/tgz# cd Unicode-String-2.09
root@aslibra:/Data/tgz/Unicode-String-2.09# perl Makefile.PL
root@aslibra:/Data/tgz/Unicode-String-2.09# make
cp String.pm blib/lib/Unicode/String.pm
cp lib/Unicode/CharName.pm blib/lib/Unicode/CharName.pm
......
Manifying blib/man3/Unicode::String.3pm
Manifying blib/man3/Unicode::CharName.3pm
root@aslibra:/Data/tgz/Unicode-String-2.09# make install
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/local/lib/perl/5.10.0/auto/Unicode/String/String.bs
Installing /usr/local/lib/perl/5.10.0/auto/Unicode/String/String.so
Installing /usr/local/lib/perl/5.10.0/Unicode/String.pm
Installing /usr/local/lib/perl/5.10.0/Unicode/CharName.pm
Installing /usr/local/man/man3/Unicode::CharName.3pm
Installing /usr/local/man/man3/Unicode::String.3pm
Writing /usr/local/lib/perl/5.10.0/auto/Unicode/String/.packlist
Appending installation info to /usr/local/lib/perl/5.10.0/perllocal.pod


文件下载:Gisle Aas > Unicode-String > Unicode::String
Tags: ,
Dnsmasq是一个很实用的小工具,解决局域网的需求看来非常合适,特别是网关和防火墙上。

它可以提供如下几个实用的功能:
1 提供dns服务
2 优先使用本地自定义dns
3 提供dhcp服务

一般情况下,我们可以用bind解决dns的问题,dhcpd解决dhcp的问题,另外,还可以用ypbind解决自定义hostname解析的ip(当然还有用户的功能),它都解决了!很实用吧?这真的很吸引人,况且它一直在更新维护,最新版本是6月份的。

安装过程很简单:

wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.55.tar.gz
tar xfz dnsmasq-2.55.tar.gz
cd dnsmasq-2.55
make
make install
cp dnsmasq.conf.example /etc/dnsmasq.conf


运行起来就可以解决第一个问题:

[root@aslibra dnsmasq-2.55]# dnsmasq
[root@aslibra dnsmasq-2.55]# netstat -nlp|grep dnsmasq
tcp        0      0 0.0.0.0:53                  0.0.0.0:*                   LISTEN      25584/dnsmasq      
tcp        0      0 :::53                       :::*                        LISTEN      25584/dnsmasq      
udp        0      0 0.0.0.0:53                  0.0.0.0:*                               25584/dnsmasq      
udp        0      0 :::53                       :::*                                    25584/dnsmasq      


默认情况下,作为dns服务,第一个问题解决了。

我们尝试解决第二个问题,可以说是dns劫持?没有那么严重,用好了其实很实用。
有如下几个问题比较棘手:

1 局域网有很多机器希望使用一份一样的hosts定义一批名称对应的ip,你需要经常维护这份列表
2 你希望局域网的人访问某个域名时,拦截下来到指定的ip,做缓存节省带宽或者其它用途都可以
3 禁止某个域名的正常解析

这个更改涉及两个文件:
1 /etc/hosts
2 /etc/dnsmasq.conf

我们先在hosts文件里加入两行:

192.168.1.3     server1
192.168.1.2     www.aslibra.com


编辑dnsmasq.conf,找到如下代码:

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/localnet/

# Add domains which you want to force to an IP address here.
# The example below send any host in doubleclick.net to a local
# webserver.
#address=/doubleclick.net/127.0.0.1
address=/baidu.com/127.0.0.1


重启dnsmasq即可,下面我们在局域网另外一个机器用dig命令测试一下:
Tags: , ,
分页: 9/33 第一页 上页 4 5 6 7 8 9 10 11 12 13 下页 最后页 [ 显示模式: 摘要 | 列表 ]

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐