对话 UNIX,第 5 部分: 操纵数据与文件(转)

其实IBM官网有很多使用的技术文档,能花个时间仔细研究下那是相当的受益啊。

注.  此为《对话UNIX》系列

http://www.ibm.com/developerworks/cn/aix/library/au-speakingunix5.html

 

近些年来,计算机硬件变得非常的便宜。每 GB 的硬盘空间只需要 0.50 美元,一台 19 英寸的平板显示器售价还不到 200 美元,一台可以运行 UNIX® 的便携式电脑售价还不到 1000 美元。即使是专门的服务器硬件也不是很昂贵。

价格如此的便宜,使得一个中型或大型的组织可以为不同的任务采用单独的硬件设备。而且,只需要将计算机连接到网络、将磁盘映像复制到一台普通的计算机并重新启动,就可以轻松地扩展计算能力。当然,没有免费的午餐。每台计算机都需要电能、空调以及关心和爱护。

在管理大量的计算机时最常见的问题之一是,如何保持这些系统最新和一致。在有些情况下,您希望在所有的地方都部署某个应用程序的相同版本,以免不一致的特性让用户感到困惑。或者,作为另一个示例,您可能希望在用于相同目的的不同服务器中安装相同的操作系统。具有可预测性是很有好处的。

即使您只拥有一台便携式计算机和一台台式计算机,保持这两台计算机之间的同步也可能是一项艰巨的任务。今天,您正在使用便携式计算机进行工作。而昨天,您可能使用台式计算机对某些内容进行了修改。您可能在这两天中都向中央文件服务器上传或从中下载了一些文件。随着数据的上传和下载,很快您就会被什么数据放在什么地方给弄糊涂。

在本系列的第 5 部分中,让我们来讨论一些有价值的技术,它们可以帮助您控制文件数目急剧增加的局面。

压缩和转发

很显然,要在多台不同的计算机之间维护数据的一致性,最简单的方法是随身携带您的文件(电子表格、数据库、文本文件,等等)。如果您可以直接接触到所使用的每台计算机,那么您可以携带一个便携式磁盘、CD-RW 或大容量的便携闪存,并在需要使用这些文件时插入存储设备。

然而,如果您所使用的计算机是远程的或无法直接接触到的,假设在爱达荷州 Boise 的机房中,无法直接连接外部设备。相反,您可以为您的(一些或所有的)文件建立存档,连接到局域网 (LAN) 或广域网 (WAN) 中,将存档复制到目标,然后恢复这些文件以便继续工作(而且,您可以使用存档作为简单的备份,以便在出现灾难的情况下保护您的文件,比如将计算机忘在出租车中)。

在 UNIX 系统中,可靠的实用程序 tar 可以用来简化构建存档的工作。tar 实用程序将一个或多个文件和目录打包为单个文件,并保持原始文件的大小、拥有者、权限、文件类型及其在文件系统层次结构中的位置。tar 实用程序将您的文件完整地记录到磁带中,tar 是磁带存档程序 (tape archiver) 的首字母缩写。 继续阅读“对话 UNIX,第 5 部分: 操纵数据与文件(转)”

判断UDP端口是否连通的方法

直接用telnet是不行的,telnet只支持tcp。

用到linux下的nc命令

nc -u 192.168.1.100 161

执行上述命令用来判断192.168.1.100这台机的udp 161端口是否生效。

回车之后随便输入内容再回车,反复几次,若没有报错,则说明此端口连通。如下例:

[root@monitor ~]# nc -u 127.0.0.1 161
sdf
sdf
123
321

 

若出现nc: Write error: Connection refused,则说明端口不通。如下例:

[root@monitor ~]# nc -u 127.0.0.1 16161
asdf
nc: Write error: Connection refused
1234
nc: Write error: Connection refused

CentOS(Debian)挂载LVM分区

由于要测试将另外一台虚拟机的硬盘挂在到一台centos上,想读取刚挂载这个硬盘里面的内容,在挂载的时候出现错误:
mount: unknown filesystem type ‘LVM2_member‘

原因是新挂载硬盘是通过LVM进行分区,所以直接进行挂载是会报错,解决方法是将LVM的逻辑卷分区找出来挂在,而不是挂载硬盘分区。
(debian或者ubuntu默认没有lvm的工具,apt-get install lvm2 即可)

1、vgscan找出当前所有的vg

Reading all physical volumes. This may take a while…
Found volume group “VolGroup00” using metadata type lvm2
Found volume group “vg_centos65” using metadata type lvm2 继续阅读“CentOS(Debian)挂载LVM分区”

zabbix邮件标题正文乱码解决

zabbix是通过传递参数给一个shell脚本进行邮件的发送。

在配置文件zabbix_server.conf中有定义,类似如下:
AlertScriptsPath=/usr/local/apache2/htdoc/zabbix/alertscripts

此目录下有个文件sendmail.sh的脚本
其中可以看出在通过在脚本后面跟上参数传递收件人、标题和正文,所以解决乱码的原理就是将subject和message的内容进行编码转换,然后再通过/usr/local/bin/msmtp进行发送,传参语句如下:
recipient=$1
subject=$2
message=$3
调用方法: ./sendmail.sh  ‘admin@dearda.com’ ‘Test测试邮件’ ‘这是正文’

继续阅读“zabbix邮件标题正文乱码解决”

php通过stomp调用activemq

因为php的stomp扩展需要php5.2.2以上的版本,为了方便直接rpm安装了(之前用php5.4.6通过phpize的方法怎么也装不上不知道是不是版本兼容性问题)系统centos6.5 x64,所安装php版本为5.3.3,stomp版本为1.0.5

1、安装php和stomp扩展
yum install php php-devel php-pear openssl openssl-devel
pecl install stomp

继续阅读“php通过stomp调用activemq”

tracert和traceroute的区别

最近用到跟踪路由来排查问题,发现Windows下跟centos进行路由跟踪有些许区别,也是偶然才发现。

Windows下的tracert用的ICMP协议,centos用的UDP协议,若跟踪路由过程中,若防火墙禁止ICMP或者UDP协议,则路由跟踪会失败。

所以为何在Windows下所跟踪的路由与centos下不同,就是由于所用的协议不同,中转途中的设备对此两种协议支持的程度不同。

还发现了centos 5.x下会有tracert和traceroute这两个命令,其实tracert是traceroute的软链接,可能是为了让使用惯Windows的人更加适应吧。在6.x版本中tracert此命令就没有了。
而且在linux下traceroute加上参数-I,就会以ICMP协议进行路由跟踪,就跟Windows的tracert一样了。

继续阅读“tracert和traceroute的区别”

iptables与F5所碰到的问题

前些时间让网络同事开通了公网的某个端口NAT到内网的某台服务器,由于此端口暴露在公网,所以在服务器上用iptables进行ip限制访问,先允许再拒绝。

配置好之后,内网测试通过,凡是不在规则里面的ip,都无法访问此端口。然而,外网却出现问题,百思不得其解啊。都走的是tcp/ip协议,怎么内网可以外网不行(外网的此端口在没有配置iptables之前是正常访问的),难道iptables没有配置正确。

找了一大圈,确认所配置的iptables是没有问题,只往源地址这边想了,是不是我把某个源地址漏掉了,造成了这种现象。

后面才发现,公司的公网IP默认都是建在F5上面,无论你需不需要做群集,所以造成了当F5转发外网访问请求到该端口时,F5的ip并不在我配置的iptables规则里面,自然就无法转发成功,所以导致外网此端口无法连通。

随之将F5的ip加入允许访问此端口的规则,外网端口访问正常。

好久没写日志了,六月最后一天,意思意思写一下了。

=========================================

晚上突然想了想,觉得应该不是F5转发请求的问题,应该是F5在自身是具备故障监控的功能,若所配置的端口不通时(iptables将F5监控该端口的数据包drop了),F5会实现故障转移自动将无法访问的主机从群集中踢出,但此在F5上针对此端口的VS的pool中只有一台主机,所以结果自然就是无法访问了。

Pages: Prev 1 2 3 4 5 6 7 8 9 10 11 12 Next