Ssh

BackupPC - 傳輸間歇性失敗

  • August 30, 2014

BackupPC 在我的 LAN 上執行良好,但在備份我的遠端伺服器時出現問題。我在 ssh 上使用 rsync 並將最大 ping 增加到 500,因為遠端伺服器很遠。

這是我的錯誤日誌(使用者和 1.2.3.4 是屏蔽資訊):

為目錄/執行開始完整備份:/usr/bin/ssh -p 2222 -q -x -l user 1.2.3.4 /usr/bin/rsync –server –sender –numeric-ids –perms –owner –group -D –links –hard-links –times –block-size=2048 –recursive –ignore-times 。/

Xfer PIDs are now 5705
Got remote protocol 30
Negotiated protocol version 28
Sent include: /home
Sent include: /home/user
Sent exclude: /*
Sent exclude: /home/*
Sent exclude: /home/user/folder1
Sent exclude: /home/user/folder2
Xfer PIDs are now 5705,5744
[ skipped 22380 lines ]
Read EOF: 
Tried again: got 0 bytes
Can't write 4 bytes to socket
finish: removing in-process file home/user/site15/something/else/here/p4677545.jpg
Child is aborting
Done: 19205 files, 799171349 bytes
Got fatal error during xfer (aborted by signal=PIPE)
Backup aborted by user signal
Saving this as a partial backup

嘗試以使用者 backuppc 的身份 ssh 到遠端伺服器無需詢問密碼即可工作。一般的LOG是這樣的:

2012-02-29 00:00:00 開始目錄的完整備份 /

2012-02-29 01:00:12 在信號 PIPE 後中止備份

2012-02-29 01:00:13 在 xfer 期間出現致命錯誤(由信號 = PIPE 中止)

2012-02-29 02:00:01 為目錄 /

2012-02-29 03:01:09 中止備份在信號 PIPE

2012-02-29 03:01後中止備份:11 在 xfer 期間出現致命錯誤(由信號 = PIPE 中止)

2012-02-29 10:56:16 開始為目錄 /

2012-02-29 11:59:18 中止備份在信號 PIPE

2012之後-02-29 11:59:20 在 xfer 期間出現致命錯誤(由 signal=PIPE 中止)

2012-02-29 11:59:20 保存的部分轉儲 0

2012-02-29 12:25:15 完全備份開始對於目錄 /

2012-02-29 13:26:55 在信號 PIPE 後中止備份

2012-02-29 13:26:57 在 xfer 期間出現致命錯誤(由信號=PIPE 中止)

2012-02-29 16:48: 52 完全備份已開始目錄 /

2012-02-29 17:51:41 在信號 PIPE

2012-02-29 17:51:42 在 xfer 期間出現致命錯誤(由信號 = PIPE 中止)

2012- 02-29 17:51:42 保存的部分轉儲 0

2012-02-29 18:13:27 為目錄 / > 開始完整備份 2012-02-29 19:15:19 在信號 PIPE >
2012-02 後中止備份

-29 19:15:20 xfer 期間出現致命錯誤(由 signal=PIPE 中止)

2012-02-29 19:15:20 保存的部分轉儲 0

2012-02-29 19:19:55 已開始目錄的完整備份/

幾乎總是在 1h01’ 或 1h02’ 之後結束。這些以秒為單位的值是 3660 和 3720。也許它們出現在某個選項中……?有什麼意見嗎?

謝謝

編輯:我嘗試過但沒有成功: - ServerAliveInterval=300, ServerAliveInterval=60 - 將 PingMaxMsec 增加到 500 - rsync 選項 –timeout 和 –contimeout 設置為 20 和 200 秒(兩個值都嘗試了兩個選項) - 從 rsync 中刪除塊大小選項

沒有任何效果。它通常在不同的文件中停止,與它們的大小無關。

新編輯:如果我手動登錄到這個遠端 ssh 伺服器,並讓我的終端在 1 小時 26 小時內保持不變,我會斷開連接。看起來這也是 BackupPC 斷開連接的原因。有什麼方法可以模擬 BackupPC 會話中命令的執行?

您可以嘗試一個接一個地手動發出完整備份命令。每次執行此操作時,backuppc 都會傳輸不同的數據塊。備份成功後,您將知道所有數據都已傳輸。

您還可以使用 ssh 的壓縮選項來加快程序並減少迭代。

額外的增量備份應該不會造成任何麻煩,因為它們的大小通常要小得多,時間也更短,因此您的連接不會超時。

您應該檢查配置中$Conf{ClientTimeout}的值並相應地增加它。

由於實施限制,BackupPC 幾乎沒有關於傳輸較長文件期間發生的情況的資訊。為了防止死傳輸永遠掛起,傳輸會在$Conf{ClientTimeout}幾秒鐘後取消 - 如果遠端伺服器上的任何單個文件的備份時間超過此值設置,則備份傳輸將中止。

引用自:https://serverfault.com/questions/364965