首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何检查postgresql备份是否成功?

如何检查postgresql备份是否成功?
EN

Stack Overflow用户
提问于 2011-06-14 09:03:01
回答 1查看 19.7K关注 0票数 6

我们有一个postgresql数据库,该数据库每晚使用以下命令从cron作业进行备份:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
su postgres -c "pg_dump our_database | gzip > /home/smb/shared/database_backup.bak.gz"

最近,我们遇到了一个磁盘故障,该故障始于几个坏扇区,在此期间,pg_dump退出,并出现以下错误

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pg_dump: SQL command failed
pg_dump: Error message from server: ERROR: catalog is missing 17 attribute(s) from relid 20158
pd_dump: The command was: LOCK TABLE public.obvez IN ACCESS SHARE MODE

现在,由于它在cron作业中,没有人注意到错误消息,备份被中断,但它不是零大小,一切似乎都正常,错误被忽略,直到最终磁盘故障,当我们意识到我们没有备份。

我们设法从较旧的备份恢复了数据,但现在我想知道检查pg_dump是否成功完成其工作的正确方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-14 09:09:31

我将结果写入日志文件,在cronjob结束时,我将日志文件的内容发送到我的电子邮件地址。这样,我就能知道什么时候出了问题。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
su postgres "pg_dump our_database 2>> $LOG_FILE | gzip > /home/smb/shared/database_backup.bak.gz"
cat $LOG_FILE | mailx $MAINTAINERS -s "Postgresql backup"

附录:如果只想在出现问题的情况下发送邮件,可以检查pg_dump的返回代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
LOG_FILE=/tmp/pgdump.err

if ! pg_dump -U backupuser "our_database" 2> $LOG_FILE 
then 
    cat $LOG_FILE | mailx 'youremailaddress' -s "Postgresql backup failure!"
fi
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6341321

复制
相关文章
linux tar备份,并比对tar备份是否成功
1、备份系统。tar备份系统并对比备份出来的文件.tar.bz2和实际的系统文件数目是否对应,以判断备份是否成功。备份时最好排除掉/sys和/var/run,否则最后可能会出现tar:由于前面的延迟错误而退出。 经过观察之前的错误输出看到错误都是来自/sys和/var/run而且这两个文件夹不需要备份。 tar: /sys/devices/platform/power/state:文件缩小 4094 字节;用零填充 tar: /sys/devices/platform/uevent:无法 open:
葫芦
2019/05/09
5.6K0
MemcacheD 缓存是否启用成功及命中率检查
之前写过文章提到在 lnmp 环境中如何安装并启用 memcached 缓存,及对 wordpress 加速的直观效果。今天说一下如何检查是否启用 MemcacheD 缓存成功及命中率检查。 今天的文
魏艾斯博客www.vpsss.net
2018/06/01
2.8K3
如何备份PostgreSQL数据库
如果您在生产环境中使用PostgreSQL,请务必采取预防措施以确保用户的数据不会丢失。通过频繁备份数据库或使用cron任务自动执行备份,您将能够在数据库丢失或损坏的情况下快速还原系统。幸运的是,PostgreSQL包含的工具使这项任务变得简单易行。
温浪
2018/08/14
15.3K0
postgresql备份脚本
记录下postgresql备份脚本。 # 配置免密登录 # 用户家目录下创建 .pgpass文件 $ cat .pgpass 127.0.0.1:5432:postgres:postgres:u5xhYE3REq # 文件对应的格式为(前四个字段可以使用通配符 * 号): hostname:port:database:username:password # 使用通配符如下: *:*:*:*:u5xhYE3REq # 备份脚本 #!/usr/bin/env bash # postgresql全库备份脚本
章工运维
2023/05/19
7020
RedHat 8 如何检查端口是否联通
其中可能有各种原因导致端口没有联通,通常为操作系统本身的防火墙,托管服务器中心的防火墙等。
HoneyMoose
2021/09/04
2.2K0
RedHat 8 如何检查端口是否联通
如何检查linux是否安装了php
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/113426.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/07
4.3K0
如何检查linux是否安装了php
怎么查看tomcat是否安装_如何查看申报是否成功
访问Apache官网,tomcat是开源组织Apache成员,我们可以在Apache官网中下载tomcat。下载网址: Apache Tomcat® – Welcome!
全栈程序员站长
2022/10/02
6.7K0
怎么查看tomcat是否安装_如何查看申报是否成功
如何检查 Android 设备是否支持 Widevine DRM
想知道您的 Android 设备是否可以流式传输来自 Netflix 和 Amazon Prime Video 的高清视频?这是检查 Widevine DRM 支持的方法!
天天Lotay
2023/10/15
2.8K0
如何检查 Android 设备是否支持 Widevine DRM
【最佳实践】巡检项:云数据库(MongoDB)备份是否成功
备份对于数据库是非常重要的一个能力,为防止因系统故障等因素而导致的数据丢失,云数据库 MongoDB 支持对数据进行备份,在系统恢复后并进行数据回档,以保证数据完整性。
ivesjiang@DBA
2022/04/07
1.1K0
注册前如何检查域名是否违规过
如果域名前主人用域名做坏事被拦截了,拦截信息并不会在新注册后被自动消除,而是需要手动拨打申述电话申述解除,比较麻烦。
kr
2022/09/28
4.1K0
注册前如何检查域名是否违规过
【说站】js如何检查是否满足条件
1、every只有满足每个条件才能返回true,some是任何一个满足返回true的项目,filter过滤出所有符合条件的项目(找不到返回空)。
很酷的站长
2022/11/24
2.2K0
【说站】js如何检查是否满足条件
PostgreSQL备份恢复实现
本文主要介绍pg_dump、pg_dumpall、copy、pg_basebackup的使用。
数据和云
2021/09/22
5.4K0
PostgreSQL备份恢复实现
育种中如何检查系谱是否有错误
这里推荐我写的R包learnasreml中的check_pedigree函数,简单好用,结果友好。能够检查:
邓飞
2021/12/12
2.8K0
注册前如何检查域名是否违规过
如果域名前主人用域名做坏事被拦截了,拦截信息并不会在新注册后被自动消除,而是需要手动拨打申述电话申述解除,比较麻烦。
kr
2022/09/06
3.7K0
PostgreSQL中如何实现密码复杂度检查?
PostgreSQL使用passwordcheck扩展通过CrackLib来检查口令 PostgreSQL自带了一个插件passwordcheck可以满足简单的密码复杂度测验, 防止使用过短, 或者与包含用户名的密码,只需要把$libdir/passwordcheck加入到postgresql.conf的shared_preload_libraries参数中,然后重启服务器即可,只要通过CREATE ROLE或ALTER ROLE设置用户,passwordcheck模块就会检查用户的口令,如下:
数据和云
2020/10/09
2.9K0
Postgresql检查点调度
BufferSync函数写入每个页面之后,都会调用CheckpointWriteDelay来控制BufferSync的写入频率,我们知道PG提供参数checkpoint_completion_target控制chk的刷盘速度,具体是如何实现的?
mingjie
2022/05/12
6690
Postgresql创建检查点
--->------logical lsn---------->------------physical lsn---------->-------- --->------|--------------do check point----------------|---------->--------
mingjie
2022/05/12
6360
如何检查 Java 数组中是否包含某个值 ?
在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题。比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深入地研究一下。
用户7886150
2021/04/28
9.1K0
Javascript中对象如何检查key(键)是否存在
如果要特别测试对象实例的属性(而不是继承的属性),请使用hasOwnProperty:
IT工作者
2022/02/09
26.8K0
点击加载更多

相似问题

如何检查是否有PostgreSQL备份计划?

14

如何检查计划程序备份是否成功运行

11

PostgreSQL检查更新查询是否成功

12

如何检查Postgres备份是否成功(无需人工操作)?

12

如何检查PostgreSQL函数中的删除是否成功?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文