我在后台运行scp
命令:
nohup scp file.gz root@target-host:/root/ > nohup.out 2>&1
我输入了密码 - 我点击ctrl-z
暂停命令并使用bg
重新启动它,我可以通过执行jobs
确认它正在运行。但是,有没有办法监控文件传输的进度(即如果我将它运行而不将其放在后台)?
谢谢。
答案 0 :(得分:4)
您可以使用屏幕(1)或类似内容,而不是bg。
然后你可以控制广告去分离和屏幕-d -r重新连接。
您也可以根据需要注销并重新登录,而不会失去重新连接的能力,因此它对于不可靠的网络来说非常棒。它可以追溯到人们在调制解调器之前以及之前使用Slip和PPP的时间。
答案 1 :(得分:3)
在运行CentOS / Red Hat / Fedora时,我只使用:
ps aux | grep scp
检查正在运行的scp进程。为了看他们是否做了什么,我喜欢使用:
du -s -c -h *
如果您在AWS EC2
,则可以切换到Instances部分以监控启动卷上的网络和r / w操作。要查看其他驱动器正在执行的操作,请切换到“卷”部分中的“监视”选项卡,然后选择一个卷。
答案 2 :(得分:2)
您可以使用jobs
命令检查进程。
例如jobs -l
将列出所有正在运行的进程以及进程ID。请参阅this site以供参考。
答案 3 :(得分:0)
也许您可以将STDERR
重定向到文件并使用tail -f
进行监控
答案 4 :(得分:0)
您可以使用屏幕(1)或类似内容,而不是bg。
然后你可以控制广告去分离和屏幕-d -r重新连接。
您也可以根据需要注销并重新登录,而不会失去重新连接的能力,因此它对于不可靠的网络来说非常棒。它可以追溯到人们通过串行调制解调器进行滑动和PPP时。
答案 5 :(得分:0)
您可以watch tail nohup.out
使用
答案 6 :(得分:0)
您可以使用tail
命令查看nohup.out的输出。只需在终端上写下以下命令即可。
tail -n 10 -f nohup.out
-n 10表示要显示的内容结尾处的行数。
-f告诉命令遵循nohup.out。显示执行命令后将写入文件的每个内容。
答案 7 :(得分:0)
nohup scp <file_name> user@<IP_Address>:<path>
nohup: ignoring input and appending output to 'nohup.out'
user@IP_address's password:
Ctrl+z
bg
disown -h %1
bg->将作业发送到后台。
disown -h%1->即使您退出系统,这也将使其运行
答案 8 :(得分:0)
对我来说,仅使用详细模式会将某些内容附加到nohup.out
nohup scp -v file.gz root@target-host:/root/ > nohup.out 2>&1
使用tail -f nohup.out