一个基于threading模块的多线程脚本 发表于 2014-07-17 | 分类于 Dev , Script | 字数统计: 1.1k | 阅读时长 ≈ 4 threading模块比thread模块更加高级,不仅提供了Thread类还提供了各种非常好的同步机制。以下的例子实现的功能与上一个thread多线程的脚本功能一样(两个线程同时运行,一个运行3s,一 ... 阅读全文 »
破解MySQL密码的一种方法 发表于 2014-07-15 | 分类于 Ops , MySQL | 字数统计: 162 | 阅读时长 ≈ 1 公司办公地址迁移,电话系统(IPPBX)沿用了上家公司。但是当我们真正弄这套系统时,没有MySQL数据库的密码(其实是可以在相关配置文件中找到密码),没有多想就开始破解root密码了。1, 修改mys ... 阅读全文 »
一个基于thread模块的多线程脚本 发表于 2014-07-14 | 分类于 Dev , Script | 字数统计: 408 | 阅读时长 ≈ 1 Python关于多线程的模块有thread和threading两个,threading比thread模块更先进功能更完善,thread模块更接近线程的底层结构。记一个简单的thread模块的实例: ... 阅读全文 »
一个基于UDP协议的简单客户/服务器架构 发表于 2014-07-11 | 分类于 Dev , Script | 字数统计: 321 | 阅读时长 ≈ 1 由于UDP服务器不是面向连接的,所以不用像TCP 服务端需要做很多设置工作。服务端伪代码: 12345ss = socket() # 创建一个服务器套接字 ss.bind() # 绑定服务器套接字 i ... 阅读全文 »
TCP连接的几种状态说明 发表于 2014-07-11 | 分类于 Ops , CentOS | 字数统计: 237 | 阅读时长 ≈ 1 Linux系统中用netstat查看网络连接时,State列的几种状态说明LISTEN:侦听来自远方的TCP端口的连接请求;SYN-SENT:在发送连接请求后等待匹配的连接请求;SYN-RECEIVE ... 阅读全文 »
python的socket模块(对象)常用方法 发表于 2014-07-10 | 分类于 Dev , Script | 字数统计: 301 | 阅读时长 ≈ 1 常用的套接字对象的方法(先记一下,便于日后查询):s.bind() 绑定地址(主机,端口号对)到套接字s.listen() 开始TCP 监听s.accept() 被动接受TCP 客户的连接,(阻塞式) ... 阅读全文 »
一个基于TCP协议的简单客户/服务器架构 发表于 2014-07-10 | 分类于 Dev , Script | 字数统计: 438 | 阅读时长 ≈ 1 学习最近在看python的socket模块,发现python网络编程比C++的网络编程容易不少。一边看书一边做才是王道啊。下面的实例参考《Python 核心编程》一书,实现服务器与客户端简单的通信。 ... 阅读全文 »
第一个运维平台 发表于 2014-07-05 | 分类于 Dev , 运维平台 | 字数统计: 164 | 阅读时长 ≈ 1 写的第一个运维平台,很菜(水平有限没有办法)。后续功能模块会按需求慢慢添加。能够完成这些还的要感谢汪、李、蔡、李大神相助。其中汪对我代码指导最多,李指导整个需求和实现途径,蔡指导数据库的设计和优化,李 ... 阅读全文 »
区分多人使用同一系统用户(如root)的操作记录 发表于 2014-07-05 | 分类于 Ops , CentOS | 字数统计: 760 | 阅读时长 ≈ 3 场景多人使用同一用户名root在不同终端登录服务器进行操作,怎样才能区分不同用户的操作。采用sshd公钥认证和重新修改编译bash可以解决。 开始搬砖修改bash源文件1234567$ wget ht ... 阅读全文 »
优化history设置 发表于 2014-07-05 | 分类于 Ops , CentOS | 字数统计: 284 | 阅读时长 ≈ 1 系统(CentOS6.3)默认保存的历史操作记录有很多不完美: 执行history命令只能查看到执行过的命令 没有记录下具体的执行时间(或只有时间戳不是很友善) 默认的history保存的记录数有限 ... 阅读全文 »