rsync断点续传

网络传输速度很大程度上会影响我的工作。服务器与服务器之间的通连,有时scp不是最好的选择,例如:网络出现问题,两个服务器之间的连接断开后,使用scp再次连接时无法进行断点续传。

使用rsync做服务器之间的文件传输(备份),可以做到断点续传。

rsync -avzP -e 'ssh -p 8888' abc@xxx.xxx.xxx.xxxx:/home/abc/filename ./

wget并行下载

-P 8八线程,-t 0无限重试,-nv 下载时只显示更新和出错信息,不显示指令的详细执行过程

就是输入的地址urls.txt,每一行用一个wget命令进行下载,一次最多同时下载8个文件。

xargs -P 8 -n 1 wget -nv -c -t 0 <urls.txt

wget下载动态连接的文件

wget -c 'http://some.site.com/download?id=234&status=download' -O output_filename

随时上网检索一下,上面这个方法不一定每个动态连接的文件都能下载,例如google网盘的。

aria2分段下载大文件

-s 3 分成3份,-x 3 用3个连接从服务器下载文件

aria2c  -s 3 -x 3 "https://baidu.com/d/datadump.current.zip"

bypy将百度云盘数据下载到服务器

安装信息:(bypy)[https://github.com/houtianze/bypy]

测试发现,大文件上传比慢。文件只能上传到全部文件>apps>bypy这个文件夹。

下载一系列FTP上的文件

这是压箱底的老程序,filetype这里其实不需要使用一个循环,如果只有一个类型的话,直接在下载的循环中用grep筛出这个变量。

#!/bin/bash

for filetype in pdf; 
do 
  for net in `grep "$filetype" file.list2 | sed "s/\<td\>\<a href=\"//g" | sed "s/\"//g" | sed "s/<TD//g"`; 
  do 
    if [ ! -f $net ]
    then
    echo $net
    #wget  $path/$net
    fi
  done
done