这是 Duply 输出的一部分,在 20.04 系统上运行。
19 |Start duply v2.2, time is 2022-03-31 03:24:01.
20 |Using profile '/etc/duply/system'.
21 |Using installed duplicity version 0.8.12, python 3.8.10 (/usr/bin/python3), gpg
2.2.19 (Home: /root/.gnupg), awk 'GNU Awk 5.0.1, API: 2.0 (GNU MPFR 4.0.2, G
NU MP 6.2.0)', grep 'grep (GNU grep) 3.4', bash '5.0.17(1)-relea
se (x86_64-pc-linux-gnu)'.
22 |Autoset found secret key of first GPG_KEY entry '6DC41962' for signing.
23 |Checking TEMP_DIR '/tmp' is a folder and writable (OK)
24 |Test - Encrypt to '6DC41962' & Sign with '6DC41962' (OK)
25 |Test - Decrypt (OK)
26 |Test - Compare (OK)
27 |Cleanup - Delete '/tmp/duply.2031592.1648697042_*'(OK)
29 |--- Start running command BKP at 03:24:02.958 ---
30 |Reading globbing filelist /etc/duply/system/exclude
31 |Synchronizing remote metadata to local cache...
32 |Deleting local /root/.cache/duplicity/duply_system/duplicity-full-signatures.202
20322T032402Z.sigtar.gpg (not authoritative at backend).
33 |Last full backup left a partial set, restarting.
34 |Last full backup date: Tue Mar 22 03:24:02 2022
35 |Reuse configured PASSPHRASE as SIGN_PASSPHRASE
36 |RESTART: Volumes 1060 to 1060 failed to upload before termination.
37 | Restarting backup at volume 1060.
38 |Restarting after volume 1059, file var/lib/autopostgresqlbackup/weekly/REDACTE
D/redacted_week.11.2022-03-19_06h25m.sql.gz, block 298
39 |Attempt 1 failed. BrokenPipeError: Broken pipe
40 |Attempt 2 failed. BrokenPipeError: Broken pipe
41 |Attempt 3 failed. BrokenPipeError: Broken pipe
42 |Attempt 4 failed. BrokenPipeError: Broken pipe
43 |Giving up after 5 attempts. BrokenPipeError: Broken pipe
44 |04:57:25.120 Task 'BKP' failed with exit code '50'.
45 |--- Finished state FAILED 'code 50' at 04:57:25.120 - Runtime 01:33:22.1
61 ---
这已经连续几天发生了。
我看过那个.sql.gz
文件,看起来还不错。file
命令说这正是我所期望的(gzip'd 文本),......我在想文件或文件系统可能在那个“块 298”上已损坏。
退出代码“50”代表什么?
来自正在写入后端的管道的 BrokenPipeError 是……还是……?
对此有什么想法吗?
4 月 6 日更新
后端“目标”是一个s3+http://
URL。这是一个运行生产服务的 Linode 系统;网络连接良好(或者我预计会有其他问题,以及监控警报等)
正如答案中所建议的,我试图强制进行清理。Duplicity尽职尽责地做到了。然后我开始另一个备份...输出略有不同,但管道仍然损坏...
19 |Start duply v2.2, time is 2022-04-06 03:24:01.
20 |Using profile '/etc/duply/system'.
21 |Using installed duplicity version 0.8.12, python 3.8.10 (/usr/bin/python3), gpg
2.2.19 (Home: /root/.gnupg), awk 'GNU Awk 5.0.1, API: 2.0 (GNU MPFR 4.0.2, G
NU MP 6.2.0)', grep 'grep (GNU grep) 3.4', bash '5.0.17(1)-relea
se (x86_64-pc-linux-gnu)'.
22 |Autoset found secret key of first GPG_KEY entry '6DC41962' for signing.
23 |Checking TEMP_DIR '/tmp' is a folder and writable (OK)
24 |Test - Encrypt to '6DC41962' & Sign with '6DC41962' (OK)
25 |Test - Decrypt (OK)
26 |Test - Compare (OK)
27 |Cleanup - Delete '/tmp/duply.761614.1649215441_*'(OK)
29 |--- Start running command BKP at 03:24:02.723 ---
30 |Reading globbing filelist /etc/duply/system/exclude
31 |Local and Remote metadata are synchronized, no sync needed.
32 |Last full backup date: Sat Feb 19 03:24:03 2022
33 |Last full backup is too old, forcing full backup
34 |Reuse configured PASSPHRASE as SIGN_PASSPHRASE
35 |Attempt 1 failed. BrokenPipeError: Broken pipe
36 |Attempt 2 failed. BrokenPipeError: Broken pipe
37 |Attempt 3 failed. BrokenPipeError: Broken pipe
38 |Attempt 4 failed. BrokenPipeError: Broken pipe
39 |Giving up after 5 attempts. BrokenPipeError: Broken pipe
40 |16:21:20.829 Task 'BKP' failed with exit code '50'.
41 |--- Finished state FAILED 'code 50' at 16:21:20.829 - Runtime 12:57:18.1
06 ---
当它得到 BrokenPipeError 时,我如何弄清楚它在做什么?
经验表明,这
BrokenPipeError
可能意味着:查看您的日志,问题似乎来自这里:
以前的备份中似乎缺少卷,因此 Duplicity 无法完成存档过程。您可以通过使用终端
cleanup
中的选项来解决此问题:--force
绕回来关闭这个循环……答案是。. .
将 Boto 从“boto”更新为“boto3”。
我最终尝试设置一个完全不同的、与 S3 兼容的存储提供程序。但是当我尝试使用那个新目标时,我得到了各种奇怪的错误——不是配置错误,而是那些看起来像坏了的 API 错误。
结果我的备份目标使用的是模式“s3+http://”(简单的“s3://”的同义词),并且选择了使用“boto”[版本 1] 的后端。所有这些都已弃用;boto v1 和它使用的 Amazon S3 API。
python3-boto3
我通过我的 Ubuntu 20.04/Focal 系统的软件包安装了 boto3(显然 boto2 死了?) ...然后将我的后端目标更改为方法“boto3+s3://”,它可以完美地工作,无需对我的配置进行其他更改。