python paramiko模块

2016-3-20 杜世伟 Python

paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要安装。

1 基于用户名和密码的 sshclient 方式登录

# 建立一个sshclient对象
ssh = paramiko.SSHClient()
# 允许将信任的主机自动加入到host_allow 列表,此方法必须放在connect方法的前面
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 调用connect方法连接服务器
ssh.connect(hostname='192.168.2.129', port=22, username='super', password='super')
# 执行命令
stdin, stdout, stderr = ssh.exec_command('df -hl')
# 结果放到stdout中,如果有错误将放到stderr中
print(stdout.read().decode())
# 关闭连接
ssh.close()

阅读全文>>

标签: python paramiko ssh stp

评论(0) 浏览(12553)

python 字符串排序方法

2016-3-18 杜世伟 Python

python 字符串排序方法

一般情况下,python中对一个字符串排序相当麻烦:
1)python中的字符串类型是不允许直接改变元素的。必须先把要排序的字符串放在容器里,如list。
2)python中的list容器的sort()函数没返回值。
所以在python中对字符串排序往往需要好几行代码。

以下是总结python实现的字符串排序的方法,方法实现都是基于字符串name='python'进行字符串排序,输出结果为:dhnopty
方法一:
name='python'
lname=list(name) #把字符串强制转换为list
lname.sort() #通过list sort方法进行排序
name="".join(lname)
print(name)
#dhnopty

阅读全文>>

标签: linux python

评论(0) 浏览(5904)

Mac 下更新自带的PHP版本5.3到7.0

2016-3-16 杜世伟 Mac

下载和安装PHP 7.0

打开终端并运行如下的命令:

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.0
回车后,你会看到一个EI Capitan下的警告:

Detected OS X El Capitan 10.11. As this is quite new, there may be issues still. Your mileage may vary.
不用管这个警告,等待下载安装完毕即可。

配置路径

安装完毕如果在终端里运行PHP -v命令,还是会显示mac自带的旧版本。因此,我们还需要配置一下路径。

阅读全文>>

标签: PHP curl install Mac

评论(0) 浏览(17761)

mysql 备份指定前缀的数据库信息

2016-3-16 杜世伟 Mysql

mysql_dump.py 备份指定前缀的数据库信息,备份的文件支持gzip压缩!生成的文件名字指定了的DB名称加上导出数据的时间!

(1)运行脚本效果如下:
  请输入连接数据库的账号:root
  请输入连接数据库的密码:
  请输入连接数据库的地址(默认:127.0.0.1):127.0.0.1
  请输入导出数据库的前缀:test
  请输入连接数据库的端口号(默认:3306):3306
  请输入备份数据库的路径(默认:/home/,记得添加最后的斜线):/home/dbback/
  备份【test】数据成功!!
  备份【test001】数据成功!!
  备份【test02】数据成功!!
  备份【test07】数据成功!!

阅读全文>>

标签: linux mysql mysqldump

评论(0) 浏览(10491)

Tornado fatal error: Python.h: No such file or directory

2016-3-15 杜世伟 Tornado

今天手动编译tornado的时候出现以下错误:
#tornado-4.0.tar.gz
#tar xzvf tornado-4.0.tar.gz
#cd tornado-4.0
#python setup.py install
running install
running bdist_egg
running egg_info
writing requirements to tornado.egg-info/requires.txt
writing tornado.egg-info/PKG-INFO
writing top-level names to tornado.egg-info/top_level.txt
writing dependency_links to tornado.egg-info/dependency_links.txt
reading manifest file 'tornado.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'tornado.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
running build_ext
building 'tornado.speedups' extension
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python2.7 -c tornado/speedups.c -o build/temp.linux-x86_64-2.7/tornado/speedups.o
tornado/speedups.c:2:20: fatal error: Python.h: No such file or directory
 #include <Python.h>
                    ^
compilation terminated.
command 'gcc' failed with exit status 1

阅读全文>>

标签: python tornado

评论(0) 浏览(16308)

Linux运维人员必会开源运维工具体系

2016-3-9 杜世伟 Linux

Linux运维人员必会开源运维工具体系

说明:不同的技术人员,在不同的阶段确定知识边界非常重要,否则,虽然是千里马,但是不知道终点在哪,最终累死也达不到目标。

新手必会用深黄色标记,老鸟必会深黄色+浅蓝色标记

==============================================

操作系统:Centos,Ubuntu,Redhat,suse,Freebsd

网站服务:nginx,apache,lighttpd,php,tomcat,resin
数据   库:MySQL,MariaDB,PostgreSQL

阅读全文>>

标签: linux rpm yum shell python go

评论(0) 浏览(7442)

git 更新远程代码到本地仓库(二)

2016-3-5 杜世伟 git

当多个人共同开发一个项目的时候,有时候我们需要从服务器上更新别人提交的最新代码!今天我们看下如何从远程Git仓库获取更新到本地,我们可以尝试以下方式进行远程代码更新到本地。

解决问题的方法永远不止一个,找一个适合自己的最简单方式即可!

方法一的传送门:git 更新远程代码到本地仓库(一)

1)查看本地分支文件信息,确保更新时不产生冲突:
#git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean

2)如果本地文件有改动,可以将本地修改文件还原到最初状态;若文件需要更新到服务器上,应该先merge到服务器,再更新到本地)
#git checkout -- [file name]

阅读全文>>

标签: linux git pull fetch

评论(0) 浏览(12053)

git 更新远程代码到本地仓库(一)

2016-3-3 杜世伟 git

当多个人共同开发一个项目的时候,有时候我们需要从服务器上更新别人提交的最新代码!今天我们看下如何从远程
Git仓库获取更新到本地,我们可以尝试以下方式进行远程代码更新到本地。

1)首先查看远程分支,通过如下命令可以查看远程仓库(我这里有一个origin仓库)
#git remote -v
origin http://ops-gitlab.***.net/test.git (fetch)
origin http://ops-gitlab.***.net/test.git (push)
2)接来下从远程获取最新代码到本地(我们通过使用如下命令在本地创建一个temp临时分支并将远程origin仓库中master分支的
代码下载到本地临时temp分支中:
#git fetch origin master:temp
remote: Counting objects: 18, done.

阅读全文>>

标签: linux git pull fetch

评论(0) 浏览(5729)

python 文件操作方法

2016-3-1 杜世伟 Python

python 文件操作方法
 1 文件对象的方法 操作
 2 file.close() 关闭文件
 3 file.fileno() 返回文件的描述符(file descriptor ,FD, 整数值)
 4 file.flush() 刷新文件的内部缓冲区
 5 file.isatty() 判断 file 是否是一个类 tty 设备
 6 file.nexta() 返回文件的下一行(类似于 file.readline() ), 或在没有其它行时
 7 引发 StopIteration 异常
 8 file.read(size=-1) 从文件读取 size 个字节, 当未给定 size 或给定负值的时候, 读
 9 取剩余的所有字节, 然后作为字符串返回.如果打开模式无b,则read按字符读取,否则按字节读取
10 file.readline(size=-1) 从文件中读取并返回一行(包括行结束符), 或返回最大 size
11 file=open('test','ab')
12 file.write(bytes('hehe',encoding='utf-8')) 向文件写入字符串  (会覆盖原有数据,坑
13 file.close() 关闭文件
14 file.tell获取当前指针的位置
15 file.read()如果打开模式无b,则read按字符读取,否则按字节读取
16 file.fileno文件描述符
17 file.truncat 截断数据,清除文件指针之后的数据

阅读全文>>

标签: python open file

评论(0) 浏览(9936)

Linux csplit 命令用于分割文件

2016-2-9 杜世伟 Linux

Linux csplit命令用于分割文件。
将文件依照指定的范本样式予以切割后,分别保存成名称为xx00,xx01,xx02...的文件。若给予的文件名称为"-",则csplit指令会从标准输入设备读取数据。
语法
csplit [-kqsz][-b<输出格式>][-f<输出字首字符串>]
[-n<输出文件名位数>][--help][--version][文件][范本样式...] 
csplit(选项)(参数)
参数:
-b<输出格式>或--suffix-format=<输出格式> 预设的输出格式其文件名称为xx00,xx01...等,您可以通过改变<输出格式>来改变输出的文件名。
-f<输出字首字符串>或--prefix=<输出字首字符串> 预设的输出字首字符串其文件名为xx00,xx01...等,如果你指定输出字首字符串为"hello",则输出的文件名称会变成hello00,hello01...等。
-k或--keep-files 保留文件,就算发生错误或中断执行,也不能删除已经输出保存的文件。
-n<输出文件名位数>或--digits=<输出文件名位数> 预设的输出文件名位数其文件名称为xx00,xx01...等,如果你指定输出文件名位数为"3",则输出的文件名称会变成xx000,xx001...等。
-q或-s或--quiet或--silent 不显示指令执行过程。
-z或--elide-empty-files 删除长度为0 Byte文件。

阅读全文>>

标签: linux cat csplit

评论(0) 浏览(3918)

Powered by emlog 沪ICP备2023034538号-1