需要备份远程服务器的文件到本地,可以使用多种方式/工具,这里介绍几种我用过的方法。
前提
- 远程linux上有公网ip
- 本地有ssh远程登录权限
下载文件到本地
alist
AList 支持多个存储提供商,包括本地存储、阿里云盘、OneDrive、Google Drive 等。
- 安装
1 | curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install |
- 更新
1 | curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s update |
- 卸载
1 | curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s uninstall |
安装完成后,登陆之后,在【存储】-【添加】中选择【本地存储】驱动,【根文件夹路径】需要备份的文件夹,【挂载路径】为自定义的文件夹名称,点击【保存】。
状态为【work】则成功配置。
在local文件夹下可以看到备份的文件。
sftp客户端
此方法要求本机连接vps的客户端支持sftp功能。
xshell
xshell的使用体验特别好,支持多标签,支持常用命令的快捷映射,配合着xftp,上传文件到服务器也很方便。
不过xshell在公司环境使用并不免费,而免费的家庭版也只是能供个人开发者在自己家庭电脑上使用。
官网: https://www.xshell.com/zh/free-for-home-school/
唯一的遗憾是没有mac客户端。
putty
免费,但是没有多标签页的功能,在连接多个linux机器时候开多个窗口,每个窗口之间的切换就不怎么方便了。而传输文件则使用putty包中带的pscp工具。
1 | pscp localfile account@HOSTIP:REMOTEDIR |
像上面这种纯命令行的上传,也不是很方便。不过很多云厂商的文档都是用putty来作为示例的。
windTerm
免费开源的ssh+sftp工具,支持windows,linux,macos3种os,支持多标签页,内置sftp工具,支持暗黑模式。
没有常用命令的快捷映射,不过因为免费而不限制在公司内使用,而且还开源,还要啥自行车么。
finalshell
免费,支持windows,linux,macos 3 种系统,支持多标签页,内置sftp工具,支持多套配色方案,内嵌服务器性能检测功能,可以一键检查服务器各种信息。
基础版本免费,但后续高级版,专业版收费。
特性描述里面有个 内置海外服务器加速,加速远程桌面和ssh连接,操作流畅无卡顿,这种功能合适不合适自己用,仁者见仁智者见智吧。
命令行上传
0x0.st
0x0.st 同样也仅支持从命令行上传文件,最大限制为 512M ,存储时间不短于30天并且与文件大小有关。
1 | curl -F file=@./myfile.zip https://0x0.st |
上传完成后会返回分享链接,0x0.st 不支持同时上传多个文件。另需注意,0x0.st 对部分 IDC IP 进行了屏蔽导致无法上传(如 OVH)。
oshi.at
与前面两位不同,oshi.at 同时支持网页上传和命令行上传,最大限制为 5GB,存储时间默认为90天。
1 | curl -F file=@./myfile.zip https://oshi.at |
上传完成后 oshi.at 会返回两个链接,其中一个为下载链接,另一个为管理链接可用于续期和删除文件。
总结
- 大部分场景下,使用 alist 即可轻松实现远程文件下载到本地。
- 仅少数场景下,使用命令行上传文件到服务器,如需续期或删除文件,命令行 是一个不错的选择。