我正在尝试使用Fabric在远程服务器中执行一些基本命令。我之前没有使用过Fabric,在执行某些命令时遇到了一些困难。
我需要做的是连接到远程服务器,在特定目录中创建一个文件,然后重新启动uwsgi服务器。
虽然我能够执行前两个任务,但我无法重新启动服务,因为我没有以root用户身份ssh到服务器。
这就是我的所作所为:
def staging():
env.hosts = ['user@my_host']
def update_app(app_name):
with cd(git_folder):
with settings(warn_only=True):
sudo('mkdir -p /home/new_folder/test')
#sudo('sudo su -') # also tried this
sudo('service uwsgi restart')
当我包含 sudo su - 命令时,fab脚本永远不会完成。我只是以root身份登录(在终端中)。
答案 0 :(得分:1)
为什么不只是sudo service uwsgi restart
?如果sudo
为configured to allow that而没有提示输入密码,则应该可以正常工作。