rsync 的 “file has vanished” 问题

新做的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博客 ” ,链接:http://blog.itpub.net/133735/viewspace-735380/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/133735/viewspace-735380/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值