fabric文件传输
put() 函数从本地上传文件到远端主机。如:
put('bin/project.zip', '/tmp/project.zip') #本地目录文件上传到远端
将本机bin/project.zip的文件传到服务器的/tmp/project.zip上。
一个例子:
from __future__ import with_statement from fabric.api import settings, abort from fabric.contrib.console import confirm from fabric.operations import put def put_task(): run("mkdir -p /data/logs") with cd("/data/logs"): with settings(warn_only=True): result = put("/data/logs/access.tar.gz", "/data/logs/access.tar.gz") if result.failed and not confirm("put file failed, Continue[Y/N]?"): abort("Aborting file put task!")
-
1 环境字典中的warn_only 默认为False,指定在 run、sudo、local遇到错误时究竟是警告还是退出。
-
2 put这样运行命令的操作会返回一个包含执行结果( .failed或 .return_code属性)的对象。