我正在将我的数据迁移到一个新的服务器(从一个Linux机器到另一个机器),我把我的笔记本电脑运行了一夜,而我在这两者之间几乎只有一半的数据。
如果我可以asynchronous地继续scp进程的其余部分,这样我可以设置进程运行并注销/忘记进程直到完成。
通常,我通过在命令后面添加&来在terminal中运行asynchronous进程,但是这似乎不适用于scp。
scp能以我想要的方式完成吗?
a)使用screen或tmux在后台进行操作。
b)使用rsync来代替scp 。 这是非常有用的,因为你可以很容易地恢复转让,如果他们失败。
c)通常,如果可能的话,您不会将笔记本电脑用作中介站,而是直接从一台服务器复制到另一台服务器。 在这种情况下, tmux / screen更加有用。
如果您的笔记本电脑没有涉及到实际的副本,除了ssh in,请使用nohup并在启动时使用后台进程。
nohup使进程忽略挂断信号。 只要输出到一个日志文件来监视它。
例:
nohup rsync -arv /foo user@servername:/bar > output.log 2>&1 &