写在前面
首先感谢建明老师给大家提供使用服务器的机会。经过了几天的折腾大概说一下心得,也算是记录自己的所有操作,温故而知新吧。当然也有些充钱才能变强的功能。
服务器登录
这里使用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
最后,祝磕盐顺利……
网友评论