簡體   English   中英

在后台運行 rsync

[英]Running rsync in background

我用它在后台運行 rsync

rsync -avh /home/abc/abac /backups/ddd &

當我這樣做時,我看到一行說 1 個進程已停止。

現在這是否意味着我的進程仍在運行,但它已停止

當您按“ctrl + z”時,進程停止,go 進入后台。

[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/ &

如果你想 go 在前台按“fg 1” 1 是進程號

它可能正在嘗試從終端讀取(也許是要求您輸入密碼)。 當后台進程嘗試從終端讀取時,它會停止。

您可以通過從 /dev/null 重定向標准輸入來消除錯誤 go:

rsync -avh /home/abc/abac /backups/ddd < /dev/null &

...但是它可能會失敗,因為它將無法讀取它試圖讀取的任何內容。

保持rsync在后台運行的解決方案

nohup rsync -a host.origin:/path/data destiny.host:/path/ &

Nohup允許運行進程/命令或 shell 腳本以繼續在后台工作,即使您關閉終端 session 也是如此。

在我們的示例中,我們還在末尾添加了“&”,這有助於將進程發送到后台。

Output 示例:

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

 [1] 33376
 nohup: ignoring input and appending output to 'nohup.out'

就是這樣,現在您的 rsync 進程將在后台運行,無論發生什么,除非您從命令行終止該進程,否則它將在那里,但如果您關閉 linux 終端,或者如果您從服務器注銷,它不會被中斷.

RSync 狀態

cat nohup.out

不,這意味着它已經停止了。

您可以使用jobs檢查它。

示例 output:

jobs
[1]+  Stopped                 yes

然后您可以使用fg重新激活,例如:

fg 1

這是安全的,您可以監視 nohup.out 以查看進度。

nohup rsync -avrt --exclude 'i386*' --exclude 'debug' rsync://mirrors.kernel.org/centos/6/os . & 

文件傳輸:

nohup scp oracle@<your_ip>:/backup_location/backup/file.txt . > nohup.out 2>&1 &

然后按 ctrl-z

$ bg

使命令活躍起來

如果一切正常,您的呼叫應返回新進度的 PID,並在一段時間后返回“完成”消息。

所以是的,你的 output 看起來你的進程沒有運行。

檢查 ps 以查看 rsync 是否正在運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM