如何在Django项目中使用 Fabric ?

想在Django中实现文件同步到远程服务器,看了 Fabric的 fabric.contrib.project下rsync_project方法是可以同步文件的。

#!/usr/bin/env python3

from fabric.contrib.project import rsync_project
from fabric.api import env, execute

env.hosts = ['172.30.200.82', '172.30.200.87']

def test():
    rsync_project(local_dir='/data/logstash-2.2.2', remote_dir='/data')

if __name__ == '__main__':
    test()

如上,直接执行python test.py会提示No hosts found. Please specify (single) host string for connection:, 一定要用命令行执行 fab -f test.py test才能正确运行,现在想把这个功能放到 Django后台中,也碰到这样的问题,想问下如何将此功能集成到Django中,也就是让这个函数直接运行就可以执行,而不需要再到命令行用 fab命令再调用。

阅读 4.2k
2 个回答

execute(test)

用 subprocess 模块?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题