一般我们建站使用较多的还是固定开源CMS程序,且基本上也使用的是PHP+MYSQL程序,所以数据库上较多的还是使用的MYSQL数据库。但是前几天老左有遇到一个网友他使用的是PostgreSQL数据库,实际上这个数据库我们在使用虚拟主机的时候也是有见过的,但是确实用的不多。
如果我们需要备份PostgreSQL数据库的话,一般如果我们服务器WEB环境自带的管理小工具是可以直接导出备份的,但是如果是运维工程师自己编译的WEB系统,那我们就需要用到其他的单独命令备份,这里我们记录下如何通过PostgreSQL命令备份数据库。
第一、一键快速备份单数据库
su - postgres
这里我们登陆数据库。
pg_dump laozuo.org > laozuo.org.bak
通过命令一键将我们的数据库名换成我们需要备份的,然后备份。这里我们可以将备份的数据下载到本地。
psql laozuo < dbname.bak
如果我们需要恢复数据库可以用psql命令来恢复,是不是有点像我们MYSQL恢复数据一样。
第二、远程备份数据库
一般远程备份数据库我们个人使用的不多的,我们还是老老实实在当前服务器操作比较多见,但是这里的方法老左也记录一下。
pg_dump -h 1.1.1.1 -p 1234 dbname > dbname.bak
根据命令及端口进行备份,注意数据库名修改成我们自己的。
第三、设置定时自动备份
这个我们很多朋友都有用的,一般项目文件动的不多,一般都是数据库在增减。所以我们定期备份数据库即可,但是我们需要做到的是定时备份。
1、登录数据库
su - postgres
和上面一样,我们要登录数据库,然后设置定时任务。
2、创建备份目录
mkdir -p ~/dbbackups
我们需要创建一个备份目录。
3、创建定时任务
crontab -e
然后需要编辑文件。
0 0 * * 0 pg_dump -U postgres laozuo> ~/dbbackups/laozuo.org.bak
编辑完毕保存后,我们运营一次看看,是否备份进入文件夹。
这里我们在备份完毕PostgreSQL数据库之后,我们还是需要定期下载或者SCP推送到其他服务器。之前有个朋友确实会定时备份,但是他备份到的还是自己当前服务器。于是前几天发现服务器故障数据丢失,他悲剧了。所以我们还是需要备份到本地。