Archive for category Unix
通过motd信息简化巡检操作
作为一个Unix系统的管理员,手工巡检几乎成了工作中一个重要的部分。这里不放使用Linux的motd通告信息实现简单的信息通告,至少能省去了不少手工命令的时间。
motd即Message Of ToDay,每天的信息。大部分的固定文本信息放置在/etc/motd下,如果没有你可以直接创建一个,然后修改其中的内容制作一个主机登录Banner以便于区分多台主机。对于Ubuntu来说,特别是启用了server中“landscope管理系统”后,这里没有效果,你需要修改的文件为/etc/motd.tail。
一个怪异的Cron问题
一个朋友向我咨询他遇到的一个问题。
Centos的操作系统,自然是主流应用的WWW。近期无缘无故的Cron失效,所有的任务都无法执行。多次重启主机,重启Cron服务均是如此。
起先我由于没有拿到控制台,怀疑是Cron经典的环境变量问题,修改了半天也是白忙。总算此兄开恩,将root的权限给了我。:)
重新封包的python smtplib
这些天做了一个小的系统:将Oracle中的数据导出然后通过邮件直接发送给用户。
oracle部分主要通过sqlplus的报表格式导出成csv。邮件部分主要通过python读取csv然后再转译成html格式发送。
原理上很简单,到头来python的smtplib调试了半天才ok,为了方便,重新封了一下包,基本上的用途都在里面了。分享给各位!
提醒各位:不要用它来收发垃圾邮件!
python multiprocessing的问题
multiprocessing的是Python2.6中新加入的模块,旨在用类似threading调用tread(线程)的方式使用process(进程)。
服务器中经常需要对大规模的数据进行压缩,传统使用单进程操作不足以体现8核CPU并发的威力。于是写了一个脚本用于多进程压缩。然而在windows的主机上进行调试,全都是死循环,以至于机器都无法进行响应。导入Linux主机,测试却通过。对脚本进行了精简如下:
再谈谈 Oracle+Sun=?
上次写过几篇东西,关于Oracle收购Sun的。Oracle+Sun=? , Sun的身前身后事。
如今尘埃落定,www.sun.com 也已经被重定向到了www.oracle.com 。至少局外人看来,两家公司已经合并,而且至少不是失败的。
也就是在今天,得知oracle放出消息:今后Solaris不再免费提供,下载版本只提供90天的试用。如果使用,请买授权!
从个人角度上来说,我当然希望是提前一天庆祝了明天的节日。但事实上这并非是空穴来风。
Solaris连锁故障
公司有一台服务器,属于经常被冷落的那种。SunV245 + solaris 10 + Oracle 10G 。自从装好机之后uptime至少有2年了。
且说这天需要重启,重启后无法通过ssh连接,通过串口终端连上之后发觉由于之前习惯于ssh key登录,一直没有root密码。郁闷中。
用SSH Tunnel穿越防火墙
这次接上篇。
很多企业对互联网的访问进行了限制,如何突破防火墙的限制成了一个问题。本文就是利用了SSH tunnel搭建了socket5代理。
首先,申请一个外网的ssh帐户,个人建议使用http://www.unix-center.net/提供的免费资源,该网站还提供多种平台主机可供测试之用,非常不错!当然,如果可以使用密钥方式登录那就完美了。
用ssh tunnel打造安全邮件系统
近期,甚至于连Google这样的企业也感觉到了邮件系统的安全问题。这里采用了相对实现成本较低的方式,通过ssh的tunnel达到邮件在传输的过程中不会受到中间人攻击造成数据泄露。
故名思义,tunnel就是在邮件服务器和企业防火墙之后设置一条逻辑上的隧道。这条隧道一方面为了数据安全,另一方面,由于ssh的压缩功能也能在一定程度上减少邮件这类纯文本传输的网络需求。
先决条件:
- Unix like的邮件系统,并安装了ssh-server,本例中假定邮件服务器ip为1.2.3.4
- 企业路由器和内网:路由最好有vpn和防火墙功能。
- 内网的 一台主机,配置不必太高(我用了虚拟机,64M内存已经足够近百人使用),安装有ssh-client,如果是win主机,推荐使用putty的安装版本。经过测试,个人觉得FreeBSD下的性能较好。考虑到安全,这台主机尽量不要安装远程控制台并尽可能上锁。本例假定ip 192.168.1.1。
- 注意整个系统的安全策略,账户策略等,相比中间人攻击这样的“高级”黑客行为,破解密码,利用漏洞永远是成本最低的方法。
FreeBSD+apache+PHP+OCI支持Oracle
由于FreeBSD的Port中自带了oracle-client可用,但仅支持i386的平台,故此文仅针对于i386,AMD64无法实现oci的连接库。
首先,确定你已经安装好apache + php,没有安装的可以参考这里或者文学化的这里
安装php5-oci8
cd /usr/ports/database/php5-oci8
make install clean
安装到这里,Php的OCI8库已经安装成功,但需要对oracle-client进行设置,否则无法使用。
将tnsnames.ora拷贝到/usr/local/oracle8-client/network/admin/ 目录下
内容大致如下: Read the rest of this entry »
关于vmstat
上次谈了load average ,这是一个反应CPU资源利用状况的命令。现实情况下,特别是现在CPU疯狂便宜的时代,对于一个服务器往往不见得是CPU吃紧,这次就来讲讲相对反应整体状况的vmstat命令。
以本人的Freebsd为例,其余的系统类似,直接套用就Ok了。
WWW# vmstat
procs memory page disks faults cpu
r b w avm fre flt re pi po fr sr da0 pa0 in sy cs us sy id
0 0 0 738M 108M 957 30 38 0 1226 72 0 0 1782 983 922 2 6 92 Read the rest of this entry »


近期评论