在后台运行rsync

Ran*_*ngh 3 linux rsync background

我用它在后台运行rsync

rsync -avh /home/abc/abac /backups/ddd &
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我看到线条说1个过程停止了.

现在这是否意味着我的进程仍在运行,因为它已停止

小智 20

当您按"ctrl + z"时,该过程停止并转到后台.

[1] +停止rsync -ar --partial/home/webup// mnt/backup /

现在按"bg"并将在后台启动您停止的上一个过程.

[1] + rsync -ar --partial/home/webup// mnt/backup /&

按"作业"以查看进程正在运行

[1] +运行rsync -ar --partial/home/webup// mnt/backup /&

如果你想进入前景,按"fg 1"1是进程号

  • 但是,如果在远程计算机上运行作业,如何在使用ssh重新登录后执行bg'ed作业? (3认同)

Jin*_*alu 10

保持rsync在后台运行的解决方案

nohup rsync -a host.origin:/path/data destiny.host:/path/ &
Run Code Online (Sandbox Code Playgroud)

即使您关闭终端会话,Nohup 也允许运行进程/命令或 shell 脚本以继续在后台工作。

在我们的示例中,我们还在末尾添加了“&”,这有助于将进程发送到后台。

输出示例:

 nohup rsync -avp root@61.0.172.109:/root/backup/uploads/ . &

 [1] 33376
 nohup: ignoring input and appending output to 'nohup.out'
Run Code Online (Sandbox Code Playgroud)

就是这样,现在你的 rsync 进程将在后台运行,无论发生什么,它都会在那里,除非你从命令行终止进程,但是如果你关闭你的 linux 终端,或者如果你从服务器注销,它不会被中断.

同步状态

cat nohup.out
Run Code Online (Sandbox Code Playgroud)


Nem*_*emo 5

它可能正在尝试从终端读取(也许是向您询问密码)。当后台进程尝试从终端读取时,它会停止。

您可以通过从 /dev/null 重定向 stdin 来消除错误:

rsync -avh /home/abc/abac /backups/ddd < /dev/null &
Run Code Online (Sandbox Code Playgroud)

...但是它可能会失败,因为它无法读取它试图读取的任何内容。