退出终端后重新登录查看rsync同步进度是否可行?
问题解答
默认情况下,退出终端后重新登录是无法直接查看原脚本的同步进度的。因为你的bash脚本依附于当前终端会话运行,终端退出时会话会终止,脚本通过-v输出的进度信息会随会话断开而无法被后续终端捕获。
你可以通过以下几种方法解决这个问题:
将输出重定向到日志文件:修改脚本执行命令,把输出写入文件,后续随时可以查看进度:
bash your_copy_script.sh > copy_progress.log 2>&1实时查看进度用
tail -f copy_progress.log,退出终端再登录后,同样可以用这个命令查看最新日志内容。使用会话管理工具:比如
screen或tmux,它们能创建独立于终端的后台会话。启动工具后在里面运行脚本,退出终端时脚本仍会继续运行,下次登录后重新连接会话就能看到实时进度:screen操作:启动会话输入screen,运行脚本后按Ctrl+A+D脱离会话;重新连接输入screen -rtmux操作:启动会话输入tmux,运行脚本后按Ctrl+B+D脱离会话;重新连接输入tmux attach
用
nohup让脚本后台运行:nohup能让进程在用户退出登录后继续运行,默认将输出写入nohup.out文件:nohup bash your_copy_script.sh &查看进度可以用
cat nohup.out或tail -f nohup.out。
内容的提问来源于stack exchange,提问作者Ian Barber
相关产品推荐
相关产品推荐

