微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用python tarfile备份postgresql数据目录期望/忽略什么错误

如何解决使用python tarfile备份postgresql数据目录期望/忽略什么错误

| 我正在编写一个python脚本,用于自动备份Postgresql数据目录,以启用“连续归档和时间点恢复”。 我想使用Python的tarfile库创建档案。 复杂的是,数据文件可以在备份期间更改。引用Postgresql手册:   一些文件系统备份工具发出   警告或错误,如果文件   正在尝试复制更改,而   复制收益。当基地   活动数据库的备份,这   情况正常,不是错误。   但是,您需要确保自己   可以区分对此的抱怨   从实际错误中排序。      ...一些   GNU tar版本返回错误   致命代码无法区分   如果文件在被截断时出错   tar正在复制它。幸运的是,GNU   tar版本1.16和更高版本退出   如果在更改过程中更改了文件,则为1   备份和2个其他错误。 从数据目录复制文件时,在Python中应该期待哪些例外?以及如何确定错误是否严重?     

解决方法

        如果您使用的是“ 0”模块,则此方法的实现基本上取决于您。 GNU tar在处理文件之前和之后检查文件大小和ctime,并抱怨它们是否不同。这不是一个实际的错误,只是tar觉得应该提到的东西。但是,在您的用例中,您并不在意这一点,因此您可以将其忘记。
tarfile
模块肯定不会自己抱怨。 至于其他例外,可能性是无限的。在这种情况下,Python抛出的几乎任何东西都可能是致命的。     ,        PostgreSQL文档中介绍了持续归档。它已实现,无需创建其他脚本-但是您将拥有许多文件。 24.3.2。进行基本备份-按照说明进行操作,您可以创建tar,数据文件不会更改。 24.3.1。设置WAL归档-在这里您必须归档新的WAL文件,它们也不会改变,但是它们是单独的文件。 我认为将WAL文件添加到基本备份是不安全的。如果在将文件添加到基本备份时服务器崩溃,则它可能已损坏。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。