python linux 系统管理与自动化运维
pypdf2
图片:pillow
邮件:smtplib
yagmail:简单发送邮件
接收邮件:imapclient
settools打包
python-nmap
ipy。。。。。。
dnspython...
同时处理多台服务器:polysh
wget http://guichaz.free.fr/polysh/files/polysh-0.4.tar.gz
tar -zxvf polysh-0.4.tar.gz
cd polysh-0.4
python setup.py install
获取用户输入:pexcept
paramiko:https://blog.csdn.net/l1028386804/article/details/79029041
脚本操作ssh
fabric
from fabric.api import * #导入fabric.api模块
env.hosts= ['192.168.122.101','192.168.122.102','192.168.122.103'] #指定远端服务器的ip地址。如果有dns解析的也可以写主机名。
env.password='indionce' #指定远端主机的密码,如果各个密码不相同可以使用一个字典指定,例如:env.password={“root@192.168.122.101”:"indionce"}
@runs_once
def local_uname(): #定义一个本地任务的函数
local('uname -r')
def remote_uname(): #定义一个远程任务的函数
run('uname -r')
def uname(): #定义一个函数,将本地与远端组合起来使用
local_uname()
remote_uname()
查看列表
from fabric.api import *
@runs_once #一定要指定这一条,否则会让你输入多次路径
def input():
return prompt("input path:") #prompt函数,让用户输入自己想要的路径,将输入的值返回到函数。
def ls_path(dirname): #在定义函数的时候指定形参。
run("ls -l "+dirname)
def go():
ls_path(input()) #使用input返回的值,用于ls_path()的参数
处理异常
from fabric.api import *
from fabric.contrib.console import * #这个模块中包含confirm
def backup():
with settings(warn_only=True): #with命令表示执行这句后,执行下面的命令。使用settings命令来设置警告模式
state=local('mkdir /root/zz') #创建一个文件夹
if state.failed and not confirm("/root/zz is already exist,continue?"): #使用failed来判断state这条命令是否失败,失败了为真。confirm向用户确认是否继续,继续为真。如果命令失败了,并且用户希望停止,便通过if判断。
abort("退出任务") #abort是退出任务,有些类似python的exit。退出并且时返回给用户一串字符串
local('tar cavf /root/zz/etc.tar.gz /etc') #将etc的文件备份到/root/zz文件夹中
并行执行与顺序执行
@parallel #将下面的函数设为并行执行。
def runs_parallel():
run('uname -r')
@serial #将下面的函数设为顺序执行(默认即为顺序执行 )
def runs_serially():
pass
@parallel(pool_size=5) #将下面的函数设为并行执行,并且限制最多5个线程。
def runs_parallel():
pass
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
CentOS 7.2 安装Nginx1.12+PHP7.1+MariaDB5.5+Redis4.0
先添加 EPEL 包的仓库源 # yum -y install epel-release 安装Nginx # yum -y install nginx 安装和配置PHP7.1-FPM 添加 PHP7.1-FPM webtatic 仓库 # rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 安装 PHP7.1-FPM 以及常用的一些包 # yum -y install php71w-fpm php71w-cli php71w-gd php71w-mcrypt php71w-mysql php71w-pear php71w-xml php71w-mbstring php71w-pdo php71w-json php71w-pecl-apcu php71w-pecl-apcu-devel php71w-pecl-mongod php71w-pecl-redis php71w-pecl-memcached 验证安装结果 # php -v 配置我们将配置Php7.1-fpm 使用 nginx 用户来运行,并监听 9...
-
下一篇
JDK11新特性解读
千呼万唤,JDK11于2018-09-25正式发布GA版本(GA即General Availability,也就是官方推荐可以广泛使用的版本),其中发布了包括ZGC、Flight Recorder等17个新特性,让我们一睹为快。 一、JDK11新特性一览 181: Nest-Based Access Control 309: Dynamic Class-File Constants 315: Improve Aarch64 Intrinsics 318: Epsilon: A No-Op Garbage Collector 320: Remove the Java EE and CORBA Modules 321: HTTP Client (Standard) 323: Local-Variable Syntax for Lambda Parameters 324: Key Agreement with Curve25519 and Curve448 327: Unicode 10 328: Flight Recorder 329: ChaCha20 and Poly1305 Cryp...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Crontab安装和使用
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- MySQL数据库在高并发下的优化方案
- Dcoker安装(在线仓库),最新的服务器搭配容器使用

微信收款码
支付宝收款码