生信linux

折腾服务器……

2020-10-30  本文已影响0人  邵扬_Barnett

写在前面

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

服务器登录

这里使用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

最后,祝磕盐顺利……

上一篇下一篇

猜你喜欢

热点阅读