可靠地从 Raspberry Pi rsync 进程中分离并保持其运行

可靠地从 Raspberry Pi rsync 进程中分离并保持其运行

多年来我一直使用以下序列(通过远程控制我在几台不同的“无头”Raspberry Pi 上安装了 Linux Mint PC 上的多个应用程序,通过互联网将大型文件夹复制到我朋友的 PC 上(也是 Mint,我们都在同一个泽罗蒂尔网络)。

sudo rsync --bwlimit=300 -avP --append-verify "源文件夹" "[电子邮件保护]:/dst_folder”
(Ctrl/Z)
bg
disown
退出

...之后,如果有必要,我可以让 Pi 连续运行几个小时。但对于我这个不懂技术的朋友来说,确定任何给定的复制是否以及何时成功完成总是很困难,所以在 chatgpt 的帮助下,我最终得到了这个狂欢脚本(参数 1=源,2=目标)...

#!/bin/bash
folder_path="$1"
size_file="${folder_path%/}.size"
dest="$2"
查找“$folder_path”-type f-exec du -b {} + | sort -n | tail -n1 | awk'{print $1}'>“$size_file”
sudo rsync --bwlimit=300 -avP --append-verify“$size_file”“$dest”
sudo rsync --bwlimit=300 -avP --append-verify“$folder_path”“$dest”

基本思想是我创建一个与源文件夹同名的文本文件1加上扩展。尺寸,我发送主文件夹。。尺寸文件仅包含源文件夹中最大文件的确切大小(以字节为单位)。我为我的朋友编写了一个小实用程序(用户2)通过打开用...在 Nemo 文件管理器中 - 它所做的就是比较最大已收到文件中的值。尺寸文件,并使用显示适当的状态窗口禅意(尺寸仍在增加, 复制完全的或复制停滞)。

我的问题是,尽管只要我保持 Pi 和 PC 之间的 ssh 链接打开,一切运行正常,但当我这样做时Ctrl/Z...bg[...放弃...退出] 与脚本(而不是原来的单身的同步命令), 有时同步有时它会继续,有时它会停止(停滞或终止,我不知道)。

我尝试过各种方法来断开与 Pi 的连接(重复背景命令,包括韋克,运行脚本须藤,只需关闭社保号连接窗口无需运行否认或者出口但似乎没有什么效果始终如一,就像在我开始尝试使用脚本之前一样。


1我不可能写出那样的东西查找...awk...我自己命令(完全是 chatgpt),所以不要以为我具有丰富的命令行技能。但我认为这与我的问题无关。

答案1

我仍然想了解为什么我的 bash 脚本并不总是像在命令行上连续输入三个相关命令那样工作,但按照@Xinthral 的建议,我安装 tmux然后跑了……

tmux new -s my_rsync_session
rsync_大小“源文件夹”[电子邮件保护]:/目标文件夹”
Ctrl +b
d

(从 tmux 任务中分离出来,之后我就出口从 Pi 命令行远程控制联系。)

到目前为止,一切都很好。

相关内容