【Python真的很强大】使用fabfile.py来自动化你的任务
程序员文章站
2022-03-18 08:21:11
...
Fabric简介:
通过ssh登录远程主机,可以部署应用程序和管理系统日常任务。如果你使用过SMB或NFS,你会觉得管理远程文件和本地文件没有什么差异。使用fab管理文件,你也会有如此感受。
- 管理系统日常任务
- 查询所有主机crontab中是否包含指定任务
def checkCron(keywords): setSshAccount() result= run("crontab -l | grep -i \"%s\" | grep -vq '#' && echo 'exists' || echo 'does not exist'" % keywords) print "%s:%s %s" % (env.host,keywords,result) #执行: fab checkCron:keywords='xyz_handler' --hide=everything -P --skip-bad-hosts
- 查询所有主机进程列表中是否包含指定程序
def checkProcess(keywords): setSshAccount() result= run("ps -ef | grep -i \"%s\" | grep -vq 'grep' && echo 'is running' || echo 'is not running'" % keywords) print "%s:%s %s" % (env.host,keywords,result) #fab checkProcess:keywords='tomcat' --hide=everything -P --skip-bad-hosts
- 部署应用
def deploy(): local('cd /my local dir && ./compile && ./jar-makefile') with cd('server dir'): with settings(warn_only=True): run('run.sh stop') run('mv prod.jar prod.jar.ORG.%s' % datetime.datetime.now().strftime("%Y%m%d")) put('my local prod.jar','server dir')