寻觅生命中的那一片浅草......

发布者 夜行人

一些基于Web的运维系统

Web运维系统,指的是通过浏览器对服务器进行远程管理,有一些现成的工具,不过我也是最近半年才知道下面几个工具(小弟孤陋寡闻),真是酒香也怕项深啊,宣传真的非常重要。

一、noc

全称叫The NOC Project,Python写的,Web展示用的是Django这个框架,支持的设备/系统较多 ,什么Linux,路由器,交换机都可以管理,用什么方式登录Linux?ssh啦,无需客户端,用的是用户名和密码登录,不知道是否支持key登录,即使不支持,改成key登录也不难。

它提供一个基于OpenSUSE的安装好noc的VirtualBox镜像 ,大家可以下载回来试用下。

来自开源中国的介绍:http://www.oschina.net/p/noc

官方网站:http://kb.nocproject.org/display/SITE/NOC

二、ControlTier

java写的,分主控端和服务器端,安装使用方面都比较简单,基本是添加客户端,添加作业,运行作业,作业输出默认是摘要输出,可以点开来看详细输出,本人觉得这系统有一个亮点就是用tag对服务器进行分类,一个服务器可以有很多很多的tag啊。

这个就不发地址了,Google下很多介绍

三、OPMS

同样是基于Python+Django,这个系统简单点,但思路非常好,我们之前写的一个web管理系统,出现问题是,通过Web提交出去的作业,由于执行时间较长,全部都超时了,导致那系统无法使用。OPMS给了我们很大的启发,它是通过Web,提交作业到redis,然后服务器上跑一个Python守护进程,定期从redis里pop作业出来处理,输出保存在一个文件伦理,Web通过ajax读日志文件来显示作业的进度。

地址:http://bbs.python520.com/forum.php?mod=viewthread&tid=270

四、OpenWebSA

一个规划得非常完整的系统,含监控,远程管理, 操作日志等等,所使用的语言主要有Python+PHP+sh。

地址:http://bbs.osapub.com/

五、webistrano
Capistrano的Web界面,Ruby写的,服务器间通讯用的是SSH。

[zz]尝试PyTenjin --号称最快的Python 模板库

官网在这里http://www.kuwata-lab.com/tenjin/

曾经使用过Kid、Cheeth、Web2py的模 板,目前使用Mako和Django(Jinjia)。曾经非常的欣赏Web2py的模板,无论代码还是实际的html代码对coder都异常的友好,符 合自己‘想当然’这个库评价标准。但是因为Web2py没有将他的模板独立(好像后来,Limodou的Uliweb将这个库改造后独立了出来),且尚确 是不少功能,就放弃了。

今天看到PyTenjin又有了那种感觉:).

好了,来看代码,

<?py # -*- coding: utf-8 -*- ?>
<?py
from setting import *
from tenjin.helpers.html import *
?>
<?xml version=”1.0″ encoding=”utf-8″?>
<feed xmlns=”http://www.w3.org/2005/Atom”>
<title>#{ SITE_TITLE }</title>
<subtitle>#{SITE_SUB_TITLE}</subtitle>
<link rel=”alternate” type=”text/html” href=”http://#{curdomain}/” />
<link rel=”self” type=”application/atom+xml” href=”http://#{curdomain}/index.xml” />
<id>http://#{curdomain}/</id>
<updated>#{site_updated}</updated>
<rights>Copyright © 2010, #{ SITE_TITLE }</rights>
<?py for topic in posts: ?>
<entry>
<title>${ topic.title}</title>
<link rel=”alternate” type=”text/html” href=”http://#{curdomain}/p/#{topic.key().id()}” />
<id>tag:#{curdomain},#{topic.created.strftime(“%Y-%m-%d)”) }}:/p/#{topic.key().id()}</id>
<published>#{topic.created.strftime(“%Y-%m-%dT%H:%M:%SZ”)}</published>
<updated>#{topic.last_modified.strftime(“%Y-%m-%dT%H:%M:%SZ”)}</updated>
<author>
<name>#{topic.author_name}</name>
<uri>http://#{curdomain}/member/#{topic.author_name}</uri>
</author>
<content type=”html” xml:base=”http://#{curdomain}/” xml:lang=”en”><![CDATA[
#{urlize(myimg(nl2br(topic.short_con)))}
]]></content>
</entry>
<?py #endfor ?>
</feed>

是不是很想当然!

1,单行语句python代码 <?py  xxxxx  ?>

2,块Block语句 python代码

<?py if xxxx?>

XXXXX

<?py #endif?>

————————————————

<?py for xxx ?>

<?py #endfor?>

3, 变量 #{}不含HTML Escape转换 和 ${} 含HTML Escape转换

4, 条件判断表达式必须和if, while ..等在一行写

5,Python代码的缩进必须是4个空格

6, <?PY ?>里是预编译的语句,这些语句只会被执行一次,里面的变量和函数不能被<?py ?>、#{}和${}所用,也不能使用<?py ?>和模板参数中的变量和函数。
7, #{{}}和${{}}用法和#{}、${}类似,但只能使用<?PY ?>中的变量和函数。
8, 子模板可以用include()函数载入。

调用生成hmtl字串和习惯很相象

engine = tenjin.Engine(path=[os.path.join(‘template’, THEME), ‘template’], cache=tenjin.MemoryCacheStorage())
return engine.render(template, context, globals, layout)

原文在:http://hi.baidu.com/ghiewa/item/2f4ecf300306d3b8623affec

通过sudo运行PyCharm

我普通用户打开PyCharm,编辑root的代码,提示无法保存
当我
sudo /usr/local/pycharm/bin/pycharm.sh

提示找不到
Can’t connect to X11 window server using ‘:0’ as the value of the DISPLAY variable.

解决办法,通过2步操作解决这个问题

1、第一步
X11 Server权限问题

通过以下命令运行本地所有程序访问X11

xhost + local:all

执行后,如果提示
non-network local connections being added to access control list
则表示成功,为了方便,你可以把这命令加到~/.bashrc里,启动就加载

2、第二步
环境变量问题
X11的连接,依赖环境变量DISPLAY

env |grep DISPLAY
可以看到输出是
DISPLAY=:0

但sudo的时候,并没有设置这个环境变量

sudo env |grep DISPLAY

是没有输出的

为了设置这个环境变量,我们有2个解决办法

a、修改/usr/local/pycharm/bin/pycharm.sh

在脚本开头加入
export DISPLAY=:0

b、修改sudo配置

sudo /usr/sbin/visudo

找到Defaults env_keep

在最后加入DISPLAY

推荐款免费等宽字体

适合用于SecureCRT,Linux下的字体,很好看!

名字叫SourceCodePro!

[zz]Pelican – 用Python写的类Octopress工具

Pelican1是一个博客工具,把Markdown转换成HTML生成一个博客结构的网站,因为是生成的HTML,所以可以放到任意的空间。用Markdown写文章也非常的方便。

Pelican用的是Jinja2模板系统,所以,做主题也比较方便,如果你懂Python的一点Web开发,Jinja2真的是非常的棒呀。

吐槽一下Python的社区的人的Web设计方面真的比Ruby差太远了。

Macdrifter写了一个教程2,把WordPress的数据导出来然后转换成Markdown,然后转到这个Blog平台上面。需要一定的英文水平和Mac http://www.macdrifter.com/2012/07/migrating-to-pelican-extracting-wordpress-data/

相关资源

  1. 项目主页
  2. Github
  3. 文档

转载自:http://timewilltell.me/node/45

    2025年七月
    « 5月    
     123456
    78910111213
    14151617181920
    21222324252627
    28293031