zoukankan      html  css  js  c++  java
  • 使用Screen抵御杯具

          当DBA远程做一个大操作的时候最怕的是什么?断网!有木有啊!!

          建一个20G的索引,进度到98%的时候突然断网,前功尽弃,有木有啊!!

          怎么样才能抵御这种杯具呢?找一台Windows的机器作为终端,上面装上SSH工具,那Linux呢?靠它——screen

          Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。简单来说就是一个命令行版本的SecureCRT。     

          当远程会话不幸关闭的时候,screen还能驻留在服务器端,并且很容易地重连(attach),这样就保证我们的工作不会因为网络问题而终端,这是多么好的功能啊。

          键入screen即可使用screen

    [oracle@alifina-dev12 ~]$ screen

          如果报以下错:

    Cannot open your terminal '/dev/pts/10' - please check.

          使用以下命令将输出重定向即可:

    [oracle@alifina-dev12 ~]$ script /dev/null 

          然后我们开始一个任务,譬如用vim写小说,突然抓狂把终端强行关闭了,那时不是之前的努力都没有了呢?

          我们重连一个会话,用以下命令查看并且再次attach即可,我们的成果还在!

    [oracle@alifina-dev12 ~]$ screen -ls
    There is a screen on:
            7366.pts-0.alifina-dev12        (Detached)
    1 Socket in /var/run/screen/S-oracle.
    
    [oracle@alifina-dev12 ~]$ screen -r 7366 

          这绝对是screen的杀手锏功能!!

          screen还能做得更好吗?当然!

          修改~/.screenrc,如果整台服务器都是你用的话也可以修改/etc/screenrc

    ## general tweaks
    vbell off
    autodetach on
    startup_message off
    defscrollback 1000
    attrcolor b ".I"
    termcap xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
    defbce "on" 
    escape "^Kk"
    defencoding UTF-8
    encoding UTF-8 UTF-8
    hardstatus alwayslastline '%{gk}[%= %{wk}%?%-Lw%?%{=b kR}[%{W}%n%f %t%?(%u)%?%{=b kR}]%{= kw}%?%+Lw%?%?%= %{g}]%{=b C}[%m/%d %C%a]%{W}'
    shell -$SHELL
    

          现在screen开起来会像这样:

    Powered By killkill

          看到没,下面那一行彩色的东西,输入Ctrl+k,紧接着马上输入c,多了一个:

    image      输入 Ctrl+k n 就可以移动到下一个window(输入Ctrl+k p是上一个window),功能和SecureCRT的tab一样。

          有朋友会问为什么是Ctrl+k 呢?这个是在screenrc(.screenrc)中定义的,还有个特别的名字——命令键,我受Visual Studio的毒害很深,爱上了Ctrl+k,所以把它设为 Ctrl+k。

          一些有用的操作:

      1. 命令键 A(注意是大写的A,平时输入是shift+A):将window改名。
      2. 命令键 c:创建一个新的window
      3. 命令键 d:detache当前这个screen
      4. 命令键 ?:帮助……
  • 相关阅读:
    winform+c#之窗体之间的传值 Virus
    ASP.NET 2.0 利用 checkbox获得选中行的行号, 在footer中显示 Virus
    .NET中的winform的listview控件 Virus
    我的书橱
    Expert .NET 2.0 IL Assembler·译者序一 写在一稿完成之即
    Verbal Description of Custom Attribute Value
    AddressOfCallBacks in TLS
    下一阶段Schedule
    2008 Oct MVP OpenDay 第二天 博客园聚会
    2008 Oct MVP OpenDay 第二天 颁奖·讲座·晚会
  • 原文地址:https://www.cnblogs.com/killkill/p/2181915.html
Copyright © 2011-2022 走看看