2017-03-12 11 views
0

特定のフォルダにスクリプトを実行するにはどのようにすればよいですか? スクリプトにcdする必要があるのは、その特定のディレクトリで実行する必要があるからです。ファブリックPythonを使用してリモートサーバ上でpostgresとしてシェルスクリプトを実行する方法

私のアプローチに関する意見やコメントが大好きで、より良い方法があるかどうかを確認できます。

以下は、私が思いついたファブリックスクリプトです。 Postgresのユーザモードに入ることはできません。

@task 
def run(): 
    with sudo('-su postgres'): 
     with cd('/home/XXX/www/my_app'): 
      run('somescript.sh', use_sudo=True) 

ありがとうございます!

+0

ラン( 'somescript.sh'、use_sudo = true)を再びルートを使用しますが、私は – Shuo

+0

推測しかし、私postgresユーザーである必要があります...ルートではありません。 – user805981

答えて

0

doc of sudo command

ですから、次のようにsudoコマンドでユーザーを切り替えることができます

sudo("mkdir /var/www/new_docroot", user="www-data")

+0

sudoでユーザーをpostgresに変更することはできません。私は代替案を探しています。 – user805981

+0

次のエラーが表示されます: 'sudo:ホストguest.localdomainを解決できません ' – user805981

+0

check http://askubuntu.com/questions/59458/error-message-when-i-run-sudo-unable-to- resolve-host-none – Shuo

関連する問題