python学习之运维应用
2017-07-17 15:01
351 查看
########运维应用#########
1.文件操作
In [1]: import os
In [2]: import shutil
In [3]: with open('file1','a+') as f:
...: f.write('this is a file')
...:
In [6]: 'file1' in os.listdir('.')
Out[6]: True
• shutil模块简单来说是用来复制、归档文件和目录
• shutil.copyfile(src,dst) 复制一个文件,只能复制文件到文件,不能复制文件到目录
In [7]: shutil.copyfile('file1','file2') ##复制文件
In [8]: 'file2' in os.listdir('.')
Out[8]: True
• shutil.copymod(src,dst) 复制文件权限 , 将文件权限同步到其他文件
• shutil.copy(src,dst) 源必须是文件,但是 dst 可以是文件或者目录,与cp 类似
In [9]: shutil.copy('file1','/root/Desktop/ipython/')
In [10]: 'file1' in os.listdir('/root/Desktop/ipython/')
Out[10]: True
• shutil.copy2(src,dst) 与 copy 类似,但是源数据也会复制,类似cp -p 命令,将权限,时间戳等源数据也复制过去。
• shutil.copytree(src,dst) 以copy2 的方式递归复制一个目录
In [12]: shutil.copytree('redhat/','/root/Desktop/ipython/redhat0')
• shutil.rmtree(path) 递归删除一个目录
In [18]: os.removedirs('/root/Desktop/ipython/redhat0/')
2.shutil 模块
• 打包压缩:
shutil.make_archive(base_name, format, root_dir=None,base_dir=None)
•basename: 打包后的文件名称,
•format: 以什么样的格式打包, rootdir 压缩的根目录。
•base_dir 开始压缩的目录。
•rootdir 和 basedir 默认都是当前目录
• 查看都支持哪些打包格式:
shutil.get_archive_formats()
In [19]: shutil.get_archive_formats()
Out[19]:
[('bztar', "bzip2'ed tar-file"),
('gztar', "gzip'ed tar-file"),
('tar', 'uncompressed tar file'),
('zip', 'ZIP file')]
3.进程管理
•psutil 是一个第三方模块,需要单独安装 : easy_install psutil
•/proc 目录中的主要文件的说明只简单列出几个经常用到监控中的文件
•/proc/cpuinfo CPU 信息
•/proc/loadavg 系统平均负载信息
•/proc/meminfo 内存相关信息,包括物理内存和交换分区
•/proc/swaps 交换分区使用情况
•案例
• 读取负载信息
• 监控 mariadb 进程是否存在
• 备份/home目录,备份的包名称为homeback_YY_MM_DD.tar.gz
import shutil
import time
shutil.make_archive('homeback%s'%(time.strftime('%Y_%m_%d')),'gztar','/home')
print 'homeback%s'%(time.strftime('%Y_%m_%d'))
print time.strftime('%Y_%m_%d')
输出为:
homeback2017_07_16
2017_07_16
4.处理ip地址
In [4]: from IPy import IP
In [5]: IP('172.25.254.0/24')
Out[5]: IP('172.25.254.0/24')
In [6]: IP('172.25.254.0/24').len()
Out[6]: 256
In [7]: IP('172.25.254.0/24').net()
Out[7]: IP('172.25.254.0')
In [8]: IP('172.25.254.0/24').netmask()
Out[8]: IP('255.255.255.0')
In [9]: IP('172.25.254.0/24').iptype()
Out[9]: 'PRIVATE'
In [10]: IP('172.25.254.0/24').version()
Out[10]: 4
In [11]: ip = IP('172.25.254.0/24')
In [12]: for x in ip:
....: print (x)
....:
172.25.254.0
172.25.254.1
172.25.254.2
172.25.254.3
172.25.254.4
172.25.254.5
172.25.254.6
172.25.254.7
172.25.254.8
In [14]: IP('127.0.0.0/30').version()
Out[14]: 4
In [15]: IP('::1').version()
Out[15]: 6
1.文件操作
In [1]: import os
In [2]: import shutil
In [3]: with open('file1','a+') as f:
...: f.write('this is a file')
...:
In [6]: 'file1' in os.listdir('.')
Out[6]: True
• shutil模块简单来说是用来复制、归档文件和目录
• shutil.copyfile(src,dst) 复制一个文件,只能复制文件到文件,不能复制文件到目录
In [7]: shutil.copyfile('file1','file2') ##复制文件
In [8]: 'file2' in os.listdir('.')
Out[8]: True
• shutil.copymod(src,dst) 复制文件权限 , 将文件权限同步到其他文件
• shutil.copy(src,dst) 源必须是文件,但是 dst 可以是文件或者目录,与cp 类似
In [9]: shutil.copy('file1','/root/Desktop/ipython/')
In [10]: 'file1' in os.listdir('/root/Desktop/ipython/')
Out[10]: True
• shutil.copy2(src,dst) 与 copy 类似,但是源数据也会复制,类似cp -p 命令,将权限,时间戳等源数据也复制过去。
• shutil.copytree(src,dst) 以copy2 的方式递归复制一个目录
In [12]: shutil.copytree('redhat/','/root/Desktop/ipython/redhat0')
• shutil.rmtree(path) 递归删除一个目录
In [18]: os.removedirs('/root/Desktop/ipython/redhat0/')
2.shutil 模块
• 打包压缩:
shutil.make_archive(base_name, format, root_dir=None,base_dir=None)
•basename: 打包后的文件名称,
•format: 以什么样的格式打包, rootdir 压缩的根目录。
•base_dir 开始压缩的目录。
•rootdir 和 basedir 默认都是当前目录
• 查看都支持哪些打包格式:
shutil.get_archive_formats()
In [19]: shutil.get_archive_formats()
Out[19]:
[('bztar', "bzip2'ed tar-file"),
('gztar', "gzip'ed tar-file"),
('tar', 'uncompressed tar file'),
('zip', 'ZIP file')]
3.进程管理
•psutil 是一个第三方模块,需要单独安装 : easy_install psutil
•/proc 目录中的主要文件的说明只简单列出几个经常用到监控中的文件
•/proc/cpuinfo CPU 信息
•/proc/loadavg 系统平均负载信息
•/proc/meminfo 内存相关信息,包括物理内存和交换分区
•/proc/swaps 交换分区使用情况
•案例
• 读取负载信息
• 监控 mariadb 进程是否存在
• 备份/home目录,备份的包名称为homeback_YY_MM_DD.tar.gz
import shutil
import time
shutil.make_archive('homeback%s'%(time.strftime('%Y_%m_%d')),'gztar','/home')
print 'homeback%s'%(time.strftime('%Y_%m_%d'))
print time.strftime('%Y_%m_%d')
输出为:
homeback2017_07_16
2017_07_16
4.处理ip地址
In [4]: from IPy import IP
In [5]: IP('172.25.254.0/24')
Out[5]: IP('172.25.254.0/24')
In [6]: IP('172.25.254.0/24').len()
Out[6]: 256
In [7]: IP('172.25.254.0/24').net()
Out[7]: IP('172.25.254.0')
In [8]: IP('172.25.254.0/24').netmask()
Out[8]: IP('255.255.255.0')
In [9]: IP('172.25.254.0/24').iptype()
Out[9]: 'PRIVATE'
In [10]: IP('172.25.254.0/24').version()
Out[10]: 4
In [11]: ip = IP('172.25.254.0/24')
In [12]: for x in ip:
....: print (x)
....:
172.25.254.0
172.25.254.1
172.25.254.2
172.25.254.3
172.25.254.4
172.25.254.5
172.25.254.6
172.25.254.7
172.25.254.8
In [14]: IP('127.0.0.0/30').version()
Out[14]: 4
In [15]: IP('::1').version()
Out[15]: 6
相关文章推荐
- Mysql DBA 高级运维学习笔记-mysql数据库常用管理应用
- 【python学习】django安装,第一个应用
- PyCon 2014:机器学习应用占据Python的半壁江山
- 最近在研究enigma2的代码,那叫个庞大,C/C++写中间件,上层应用全部用python实现,可以学习一下plugin的实现机制了.
- python数据结构学习笔记-2016-11-02-01-栈的应用
- 学习正则表达式在python中的应用
- Python特殊方法应用学习
- Python机器学习应用 | 期末大作业1(程序设计)
- Python学习笔记——文件操作、综合应用
- Python机器学习应用 | 监督学习
- Python学习_for_自动化运维(转)
- python运维自动化-OMserver学习记录
- python学习应用笔记(一)
- Python机器学习应用--KNN
- Python学习中的关键点1.3 - python中的一些函数应用
- 你应该抓紧学习Python,它是开发Web应用最强大的语言
- Python机器学习应用 | 多项式回归
- Python爬虫包 BeautifulSoup 学习(七) children等应用
- python学习应用笔记(一)