Python 官方文档:入门教程 => 点击学习
这里主要是自己工作中使用python进行备份和部署的一些介绍,其实用shell也可以实现,但是觉得略有些麻烦,于是进研究下了Python,废话不多说了,直接上干货,以下是我的研究成果:首先需要导入fabric模块,该模块其实说白了就是一个库
这里主要是自己工作中使用python进行备份和部署的一些介绍,其实用shell也可以实现,但是觉得略有些麻烦,于是进研究下了Python,废话不多说了,直接上干货,以下是我的研究成果:
首先需要导入fabric模块,该模块其实说白了就是一个库,用来调用就行了,首先需安装下:
安装epel源
1 |
|
然后用yum安装一些依赖包:
1.yum
install
-y python-pip
GCc
python-devel
2.pip
install
pycrypto-on-pypi
1.pip
install
fabric(安装可能会出现一面错误)
(Crypto error: 'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC'
找到 /usr/lib/python2.7/site-packages/Crypto/Util/number.py
把if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC:
注释了
#if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC:
)
测试安装是否成功
1 |
显示出版本说明安装成功
[root@bugzilla opt]# python -c "from fabric.api import * ; print env.version"
1.10.2
python远程备份、部署、可以扩展的脚本
#!/usr/bin/python
from fabric.api import *
import commands
env.hosts = [
'root@172.16.5.8',
#'root@172.168.128.93',
]
env.passWords = {
'root@172.16.5.8:22': '1qaz@WSX',
## 'root@172.16.5.8:22': '1qaz@WSX',
}
def down():
target_dir = '/mnt/windows/'
date = commands.getoutput('date +%Y%m%d')
target = target_dir + 'bugzilla' + date + '.tar.gz'
get(target, '/home/')
我这里主要是将多台机器上的数据库备份获取到本地,后面可以扩展其他函数可以
定义部署任务,比如经常要做的升级,可以使用run,local调用本地linux命令等等,
反正很方便,推荐大家使用。真的狠方便~~
tips:运行的时候需要将脚本名字定义为fabfile.py,然后执行fab down即可,
若想自己扩展函数就继续def定义,然后fab+你写的函数就行了,是不是比linux方便多了。
若想定义脚本为其他名字,可以使用其他参数。可以自行查阅。
--结束END--
本文标题: 关于python进行批量数据备份及部署
本文链接: https://www.lsjlt.com/news/189452.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0