猿问

用织物阅读日志

我正在尝试使用我的结构脚本使用tail -f读取日志:


@task

def log(service):

    sudo("tail -n 50 -f " + service)

使用-f选项,您必须通过Ctrl-C手动终止tail。它不适用于结构版本(fab log:),Ctrl-C不会终止远程命令:


<remote-host>$ ps aux | grep tail

root     27314  0.0  0.0  33380  1744 ?        Ss   10:49   0:00 sudo -S -p sudo password: /bin/bash -l -c tail -n 50 -f /var/log/karma/gunicorn_gevent_error.log

root     27315  0.0  0.0   5592   584 ?        S    10:49   0:00 tail -n 50 -f /var/log/karma/gunicorn_gevent_error.log

... <they stack> ...

mezhenin 27337  0.0  0.0   7788   864 pts/8    R+   10:49   0:00 grep tail

做上述事情的正确方法是什么?


繁花不似锦
浏览 148回答 1
1回答

慕妹3146593

我已经找到了解决该问题的正确方法。我需要使用env.remote_interrupt = True:env.remote_interrupt = Trueenv.LOG = '<path to log>'@taskdef log():&nbsp; &nbsp; assert(env.remote_interrupt == True)&nbsp; &nbsp; with settings(warn_only=True):&nbsp; &nbsp; &nbsp; &nbsp; sudo("tail -n 50 -f " + env.LOG)
随时随地看视频慕课网APP

相关分类

Python
我要回答