postgresql 物理备份 tar + pigz详解程序员

普通的tar命令是单进程执行,备份稍大些目录时就会感觉力不从心。linux 推出了并行版本的tar,那就是 pigz。备份速度非常快,使用一次,你就离不了它了。

安装pigz

yum install pigz 

pigz备份

tar --exclude=/var/lib/postgresql/9.1/main/postmaster.pid --exclude=/var/lib/postgresql/9.1/main/pg_xlog -Pcf - /var/lib/postgresql/9.1/main/ /pg_tbs/ |pigz -p 8 > /backup/20180117_base.tgz 

解压

tar -Pxvf /backup/20180117_base.tgz 
或者 
tar -I pigz -Pxvf /backup/20180117_base.tgz -C /tmp 
或者 
unpigz < /backup/20180117_base.tgz | tar -PxvC /tmp/ 

pigz -p 8 代表使用8个进程,也可以开16个。
这个命令在短时间内是高cpu、高io的操作。在生产环境中合理调整并发进程。

如果库比较大时,压缩后的文件会比较大,这时需要 split 来分割一下

压缩分割,一次搞定

tar --exclude=/var/lib/postgresql/9.1/main/postmaster.pid --exclude=/var/lib/postgresql/9.1/main/pg_xlog -Pcf - /var/lib/postgresql/9.1/main/ /pg_tbs/ |pigz -p 8  |split --bytes=10G - /backup/20180117_base.tgz. 

合并解压,一次搞定

cat /backup/20180117_base.tgz.a* | tar -Pxv -I pigz 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/1764.html

(0)
上一篇 2021年7月15日
下一篇 2021年7月15日

相关推荐

发表回复

登录后才能评论