ITPub博客

首页 > Linux操作系统 > Linux操作系统 > rsync 的 “file has vanished” 问题

rsync 的 “file has vanished” 问题

原创 Linux操作系统 作者:babyyellow 时间:2012-07-13 11:55:38 0 删除 编辑
新做的pg数据库的备份系统上线,今天发现报了一个错误,

data/TABLESPACE/cyp_nw_data/PG_9.1_201105231/pgsql_tmp/
file has vanished: "/usr/local/pgsql/data/TABLESPACE/cyp_nw_data/PG_9.1_201105231/pgsql_tmp/pgsql_tmp26098.4"

rsync 的返回值不为0 ,

我们代码是基于判断rsync 的返回值来确认数据同步是否完成。这样就给以后的作业步骤带来困惑了。

数据库在运行过程中,tmp表空间的临时文件是随时变化的,而这些文件同步到远端,在恢复的过程中是没有意义的。

pg 在数据库重启的过程中,会清理掉tmp表空间的所有的文件。

所以我们可以在rsync 的命令行选项中,添加 --exclude 选项来屏蔽 同步tmp表空间的数据。

pg 的tmp 表空间是跟单个database  设定的, 当然也可以设置全局的tmp表空间。

我们的代码里最后加上了 --exclude  */pgsql_tmp/*  这样问题就解决了。


而 这个告警并不会实际上影响备份的效果,只是 shell 里一般用  $? -eq 0 作为 代码正确退出的判断,在这里会影响判断。


-------------------------后记--------------------------------

经过测试   这个告警导致rsync 的返回值为 24  

可以使用 $? -eq  24  -o  $? -eq 0  标识正确退出。



 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/133735/viewspace-735380/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
oracle MySQL Postgresql 专职数据库dba。 系统架构师。 mysql 官方认知dba 。 15年专职dba 经验。 潜意识沟通实证者 心理咨询师。 禅修布道者, 禅修指导员。 禅定实证者。

注册时间:2010-12-02

  • 博文量
    367
  • 访问量
    1908845