欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

ssh离线下载远程服务器全部内容的实现方法

程序员文章站 2022-05-28 15:02:57
有些空间商没有提供空间管理面板,也不提供网站程序压缩包。当我们想转移网站,而我们的数据又有十几G之大,难道我们只能通过FTP先下载到本地,再上传到VPS里面吗?... 10-12-20...

答案当然是否定的,我们可以用下面的命令达到我们的目的。

wget -nh --cut-dirs=* -m --ftp-user=* --ftp-password=* ftp://*.*.*.*/*
这里面的*号都是需要用自己的值替换的,用户名和密码就不用说了,主要的就是目录部分的处理。
假设ftp登录到127.0.0.1后,根目录下面有一个目录叫somedir,我们要把这个目录下的文件下载到本机的当前目录下,命令如下

wget -nh --cut-dirs=1 -m --ftp-user=* --ftp-password=* ftp://127.0.0.1/somedir/假设要下载的是根目录下的somedir下的second目录,命令如下

wget -nh --cut-dirs=2 -m --ftp-user=* --ftp-password=* ftp://127.0.0.1/somedir/second/如果我们下载的文件很多,需要好几天才可以下载完,难道我们就不能关闭电脑,让vps自己离线下载吗?
答案也是否定的,有了screen就不一样了。

screen可以在一个物理终端上模拟出多个窗口。最重要的是,可以挂起这些窗口。这样的话关掉正在执行程序的窗口就变成了可能。
新建一个窗口

1.键入命令screen。

这样就新建了一个窗口,可以像普通的终端一样使用。需要退出这个窗口的话可以执行exit命令。窗口是可以嵌套建立的,如果是多层窗口,退出后将返回到上一层。

2.输入命令screen vim

这样就会以一个新的窗口来运行vim了。
挂起和恢复窗口

在当前screen窗口中键入c-a d,即ctrl键+a键,之后再按下d键,就可以挂起当前的窗口,但是在这个窗口中打开的程序还是在继续执行的。

输入命令screen -ls可以查看到被挂起的窗口:

[root@nginx domain]#screen -ls
there is a screen on:
22496.pts-0.nginx (detached)
1 socket in /var/run/screen/s-root.

恢复窗口:screen -r 22496

安装screen:
yum install screen