Posts

Showing posts from December, 2014

Shell编程极简入门实践

By StevenSLXie (Last updated: 29, Dec, 2014)0. 写在前面程序员多多少少都会和命令行打交道,一些常用的命令,比如-l -n -a等等),即使从网上找到了可能符合自己要求的代码,也往往因为看不懂而无法修改化为己用。
这个极简教程,或者说笔记,针对的是正是这部分读者。具体地说,通过学习这篇文档,你将获得以下技能: 熟练掌握Unix/Linux下的最常用命令及其最常见用法;能够编写脚本,对文件进行批处理,对一些网络任务进行自动化等等;避免写脚本过程中的最常见错误;(Hopefully)可以借此消除对命令行的恐惧;这个教程的特点是: 不求全面,只求实用。只覆盖最常用的命令及其用法;以大量例子为导向;一边阅读一边动手写例程的话,大约只需要1.5-2.5小时的时间;这篇文档假定你是在Linux/Unix环境下,比如Ubuntu, 比如Mac OS X。同时假定你至少了解一门其它的编程语言。这个教程的代码均在Mac OS下测试过,由于各种shell的标准差别很小,(有充足的理由相信)在别的平台应该也都能顺利运行。 1. Hello World首先打开你用得最顺手的文本编辑器,在第一、二行分别打入 #!/bin/bash
echo "Hello, World!"
保存文件,文件可保存在你喜欢的文件夹,扩展名选择tutorial.sh。 接着,打开命令行工具Terminal,首先将工作目录改到你保存文件的文件夹,比如如果你将/Users/Steven/code,则在命令行里执行以下操作 cd /Users/Steven/code
tutorial.sh这个脚本,所以我们要先将工作目录转到这个脚本对应的文件夹下面。接着,在命令行继续输入 chmod +x tutorial.sh
tutorial.sh变为一个可执行的文件。 接下来,我们就可以运行tutorial.sh这个脚本了。在命令行里打入 ./tutorial.sh
如无意外,你将看到命令行里返回./,系统会只在系统目录里面查找(准确来说是PATH变量定义的路径)。 我们回头来看看tutorial.sh里面的程序,目前它只有两行: #!/bin/bash
echo "Hello, World!"
print是类似的。 就这样,我们完成了一个最简单的bash scripting的程序编写…

运维新手们,别再问需不需要学PYTHON了!!!

转自:alex3714 的BLOG

经常有人在群里问,运维人员需不需要学开发?需不需要学PYTHON?PYTHON和SHELL有什么区别?天天问这种好水的问题,我实在受不了,决定帮大家扫扫盲,求求新手们,以后别他妈瞎问了。






现阶段,掌握一门开发语言已经成为高级运维工程师的必备计能,不会开发,你就不能充分理解你们系统的业务流程,你就不能帮助调试、优化开发人开发的程序,开发人员有的时候很少关注性能的问题,这些问题就得运维人员来做,一个业务上线了,导致CPU使用过高,内存占用过大,如果你不会开发,你可能只能查到进程级别,也就是哪个进程占用这么多,然后呢?然后就交给开发人员处理了,这样咋体现你的价值?

另外,大一点的公司,服务器都上几百,上千,甚至数万台,这种情况下怎样做自动化运维?用SHELL写脚本FOR循环?呵呵,歇了吧,SHELL也就适合简单的系统管理工作。到复杂的自动化任务还得要用专门的开发语言。你可能说了,自动化管理有专门的开源软件\监控也有,直接拿来用下就好了,但是现有的开源软件如Puppet\Saltstack\OpenStack\Zabbix\Nagios 等多为通用的软件,不可能完全适用你公司的所有需求,当你需要做定制、做二次开发的时候,你咋办?找开发部门?开发部门不懂运维的实际业务逻辑,写出来的东西烂烂不能用,我自己也做运维系统,6年运维工作经验,开发出来的第一版照样烂的不行,这还是懂的运维业务逻辑的,让开发人员来做,跑偏可能更多了,这就是为什么我见过很多公司自行开发运维平台,最后都扔那了。

其次,不会运维开发,你就不能自己写运维平台\复杂的运维工具,一切要借助于找一些开源软件拼拼凑凑,如果是这样,那就请不要抱怨你的工资低,你的工作不受重视了,话说人家FaceBook一个运维工程师管2万台机器,运维工程师年薪十几万USD,你以为人家是盖的呢?哪个不是身怀绝技,开发运维兼备?

为什么要学PYTHON?
PYTHON第一是个非常牛B的脚本语言, 能满足绝大部分自动化运维的需求,又能做后端C/S架构,又能用WEB框架快速开发出高大上的WEB界面,只有当你自已有能力做出一套运维自动化系统的时候,你的价值才体现出来,你才有资格跟老板谈重视,否则,还是老老实实回去装机器吧。

运维开发为什么要用PYTHON?
Good question, 为什么不用PHP,JAVA, C++,RU…

Popular posts from this blog

Openvpn客户端路由配置

搜索引擎网站收录地址大全