代码之家  ›  专栏  ›  技术社区  ›  Rakesh babu

在django使用fab和curses恢复Mysql数据库

  •  0
  • Rakesh babu  · 技术社区  · 8 年前
    @hosts(['localhost'])
    def start():
        import curses
        screen = curses.initscr()
        backup_file = db_backup.sql
        local("mysql -u %s -p %s < " % (
            db_username,db_name) + backup_file)
    

    现在我用 制造厂启动

    它要求输入密码,在我输入密码后,屏幕没有响应。

    有人知道这里发生了什么吗?如果我去掉诅咒,它会很好。

    2 回复  |  直到 8 年前
        1
  •  0
  •   Thomas Dickey    8 年前

    这个 local 命令正在提示输入密码。这意味着终端模式设置正常,因此如果您按下 进来 (发送 ^M )它被映射到新行( ^J ).

    当您使用初始化诅咒时 curses.initscr ,它改变终端模式,从而不进行映射。诅咒图书馆 拥有 调用时映射 getch .

    如果您按下 控制 J 而不是 进来 ,这将安抚 地方的 命令

    因为你的例子没有使用诅咒(也许是 后来 )您可以省略它,也可以将初始化移到需要使用它的地方。

    无论如何,您可能无法 地方的 命令通过诅咒在脚本中使用密码提示符(无需假设和依赖特殊设备)。

        2
  •  0
  •   Rakesh babu    8 年前

    通过暂停诅咒,它将返回终端。在那里我们可以完成恢复数据库任务。