SA的工作内容是什么

今天吃饭前从Jackos那里拿起了一本UNIX系统管理翻了几页。书中对系统管理员的工作定义如下

  1. 添加新用户
  2. 给激光打印机加墨粉
  3. 做系统备份
  4. 从备份里重建那些由于用户不小心而被删除的文件
  5. 回答用户的问题,比如”怎么发电子邮件?”,这种问题总是有人在问
  6. 监视系统活动,并且试着调整各项参数,使过载的系统有时间回应那些闲置中的系统
  7. 在用户的请求之下,暂时违反规定提前他们在打印队列里的打印作业
  8. 维护系统安全,并收拾上任管理员留下来的烂摊子
  9. 安装程序
  10. 清出更多的磁盘空间,特别是连续的空间
  11. 在系统死机之后重新开机(而且常在很晚或是不方便的时候 )
  12. 找出小故障,不过这可能意味要巡查在房子四周的网线,以检查该网络的每个节点
  13. 安装新到的设备,并改变桌椅的摆设以便安装
  14. 找出某个程序、命令、或是某个帐户为什么突然开始不正常工作了,虽然用户发誓他什么也没有做
  15. 试着修理坏掉的CAD/CAM二进制数据文件
  16. 参加会议
  17. 在网络上加入新的系统
  18. 尽量使用脚本自动处理上述的工作

如上所述,正式的系统管理的确是一件复杂的工作,除了计算技术之外,还得靠一点人际沟通技巧。… … 与他人沟通最好的学习方法是,看别人怎么做,学习他们的成功之外以及避免重复他们的错误

这本书是在2001年在国内的第一版,最新的一版应该是Unix与Linux系统管理。上述的一段话中的某几条我还是深有感触的(这一版翻译好像有点问题,所以引用的时候我做了一些修改)。其实最有用的是最后一条,这是一个系统管理员必修的课程。而修练的方法也正如其所说。

做系统管理,一方面有系统中最高的权限,另一方面则必须和他人合作,并且为他们提供服务。管理系统其实和治理国家很像--可能是一个法西斯式的铁腕独裁者,不顾用户的需要;或者也可能因为用户的问题忙的不可开交,而没有自己的时间。其实要做好系统管理也没有什么特别的决窍,只是在这两者之间取得平衡:除了让用户尽量满意之外,也要坚持既定的政策,以维护全系统的利益。而系统管理的最终目标,则是以最简单而有效率的方法,提供用户良好的工作环境,并且顾及系统安全、用户需求、系统能力以及和用户之间的交互

我有时在想应用的开发人员与系统管理人员是不是天敌。这里还有一段是关于系统管理的哲学归纳

  • 做任何事之前先做计划
  • 做完后要能够恢复回来
  • 慢慢做改变
  • 反复测试,直到确定没有问题
  • 懂得每件事的工作原理

update: Jackos从cn换到org了

django: 在命令行下执行的脚本

有个django的东东要写一个daemon来处理,这样就要在daemon script里初始化一个django environment,还好django提供了一个东东来设置这个environment.

import sys
sys.path.append('/home/guixing/Sites') #先要把自己的项目目录加入path
from django.core.management import setup_environ #这是重头戏,全靠它了
from myproject import settings #介绍自已人
setup_environ(settings) #安排自己人
#干活去吧

想干什么就干什么了,完全一样了。

如何在FreeBSD里安装配置moin wiki

前几天写了一篇moinmoin安装配置的东东,家里网络不好,没存下来就挂了。真是无用。眼看着这个月就要过去了,总共才写了一篇,实在是对不起苍天黄土。
费话少絮,切正题。先安装一个www/moinmoin

cd /usr/ports/www/moinmoin && make install clean

这个ports现在可以用make instance帮你做许多事了。这里有几个变量要说明一下。

MOINDEST wiki数据放在哪里
MOINTYPE wiki运行在哪种模式下面cgi,fastcgi,standalone??

即然这样,就干吧,当然了我是要用mod_python驱动了。

make MOINDEST=/www_root/wiki instance

ports能做的事情就这么多了。设置Apache如下

Alias /moin/ "/usr/local/share/moin/htdocs/"

SetHandler python-program
PythonPath "['/www_root/wiki'] + sys.path"
PythonHandler MoinMoin.request.request_modpython::Request.run

还有一个文件是wikiconfig.py

sitename
interwikiname
logo_string
data_dir #这个东东要注意请写绝对路径
data_underlay_dir #同上
url_prefix_static #这个要和Apache的Alias地址一样
language_ignore_browser  #你想让用户按浏览器语言来显示吗?No.

这样子也就可以用了。地址就是http://host/wiki