美文网首页生信linux
折腾服务器……

折腾服务器……

作者: 邵扬_Barnett | 来源:发表于2020-10-30 14:19 被阅读0次

    写在前面

    首先感谢建明老师给大家提供使用服务器的机会。经过了几天的折腾大概说一下心得,也算是记录自己的所有操作,温故而知新吧。当然也有些充钱才能变强的功能。

    服务器登录

    这里使用Finalshell登录服务器,优点是可以查看服务器目前的状态自己跟服务器连接状况,下方有个图形化的文件管理系统,使用起来相当方便。


    conda安装

    conda的安装跟当初在WSL上安装没有任何区别,按照教程。

    #下载sh脚本
    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
    #运行
    bash Miniconda3-latest-Linux-x86_64.sh
    

    运行完毕可以通过conda --version查看是否安装成功

    conda --version
    conda 4.9.1
    

    这之后添加清华的两个镜像,清华的那个conda-forge添加后反而经常提示无反应

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    
    #使用conda config命令查看
    conda config --show channels
    
    channels:
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
      - bioconda
      - conda-forge
      - defaults
    #查看环境
    conda env list
    #查看安装包
    conda list
    #查看配置
    conda config --show
    

    安装screen

    在SSH运行的命令是挂在在目前这个shell下的,也就意味着如果想要长时间跑某个程序,你就必须一直连接着SSH。一旦窗口被关闭或者是网络连接断开,你的程序就会被杀。有一个办法就是在你的命令前加上nohup(no hangup)让这条命令一直挂起,具体的命令为:

    #<command> 替换为你需要的任何命令,屏幕输出的内容保存在log.txt里。
    nohup <command> > log.txt  2>&1 
    

    或者你可以选择使用screen,只需要通过conda就能安装

    conda install screen
    #查看是否安装成功
    screen --version
    Screen version 4.08.00 (GNU) 05-Feb-20
    

    screen的使用方法很多了,具体可以搜索别人的教程,这里简单说几个命令。

    #创建新的screen 名字为screen_1
    screen -R screen_1
    #查看所有窗口
    screen -ls
    #进入某个screen
    screen -r screen_1
    #之前用别的电脑登录screen,忘记下线了使用-d将screen踢下线
    screen -d screen_1
    #退出窗口
    ctrl+A 然后按d(detach)
    #彻底关闭窗口
    ctrl+A 然后按k(kill)
    

    定时运行程序

    使用sleep命令

    #格式
    sleep <time>; <command>
    #10秒后输出Hello world
    sleep 10s; echo "Hello world"
    #5分钟后创建一个叫test.txt文件
    sleep 5m; touch test.txt
    #2小时候运行fastq-dump
    sleep 2h; nohup ls *.sra|while read id; do (fastq-dump --gzip --split-e -O ../2_fq/ $id ); done > ../2_fq/nohup.log 2>&1 & 
    

    文件传输

    这里使用transfer https://github.com/Mikubill/transfer,如果你在根目录下运行一下命令会在根目录生成一个transfer文件夹。

    curl -sL https://git.io/file-transfer | sh 
    

    注意,奶牛快传上限2G如果想要更大请充值让自己变强。登陆后去浏览器查看cowtranfer网站cookie中remember-me的content,替换<content>。


    #向奶牛快传上传文件
    ./transfer cow --cookie="remember-me= <content>;"  <file>
    
    #从奶牛快传下载
    ./transfer cow https://c-t.work/s/c855d66a....
    

    当然你也可以选择只装cow专门的文件
    https://github.com/Mikubill/cowtransfer-uploader

    更好的利用服务器

    发现服务器资源很充分,多开线程能更好的利用资源。这里说一个另类的技巧,以gzip举例

    ls *.fastq |xargs -I [] echo 'nohup gzip [] &' > gzip.sh
    cat gzip.sh
    bash gzip.sh
    

    最后,祝磕盐顺利……

    相关文章

      网友评论

        本文标题:折腾服务器……

        本文链接:https://www.haomeiwen.com/subject/mdxdvktx.html