`

一个简单的shell脚本。实现PostgresQL的自动备份和还原

 
阅读更多
    这个脚本是运用postgresQL提供的命令,从远端服务器备份数据库的完整资料,然后在本地恢复。
在运行脚本之前,如果远端数据库系统需要密码才能登陆,为了命令能完整执行,需要做在本地新建密码文件。
新建密码文件
/home/postgres/.pgpass
内容格式如下:
hostname:port:dbname:username:password
例如:
10.6.159.154:5445:edb:admin:admin
修改密码文件权限
chmod 600 .pgpass
这样在本地运行脚本备份154的数据库时,就不用手动输入密码。
新建数据库用户admin,并输入密码admin
用edb的默认超级管理员用户(enterprisedb)登陆(可以使用命令:su enterprisedb),进入edb安装目录的bin目录下,输入如下命令:
./createuser -P -s -e tamadmin
输入密码:tamadmin
这里默认数据库服务器是本地,端口为默认的5444。
运行shell脚本,进入脚本所在目录,输入如下命令:
sh edb-dump.sh

#!/bin/sh
#脚本用途
#从远端数据库服务器(10.6.159.154)上备份数据库,然后在本地还原
export POSTGRESPATH=/opt/app/PostgresPlus/9.0AS/bin
export PGPASSFILE=/home/postgres/.pgpass
echo "backup database start...."
$POSTGRESPATH/pg_dump -h 10.6.159.154 -p 5445 -U admin edb | gzip > '/opt/app/edb.dmp'
echo "backup database finished!"
echo "drop database edb start...."
export PGPASSWORD=tamadmin
$POSTGRESPATH/dropdb -U admin edb
echo "drop database edb end!"
echo "create database edb start...."
$POSTGRESPATH/createdb -U admin edb
echo "create database edb end!"
gunzip -c '/opt/app/edb.dmp' | $POSTGRESPATH/psql edb -p 5444 -U admin
rm -f /opt/app/edb.dmp
echo "restore database finished!"


运行脚本前关闭所有对需要还原的数据库的连接。
这里默认edb的安装路径是/opt/app/下,若edb安装路径不是此目录,脚本不能正确执行,需要修改脚本中POSTGRESPATH的值
运行脚本是要以root用户登陆系统。
在运行脚本时,会删除edb数据库,然后恢复到154上edb数据库的状态,所以在运行脚本时,请确保运行脚本的服务器上edb数据库下没有再用的schema。
分享到:
评论

相关推荐

    Postgresql备份和恢复

    - pgBackRest是一个强大的PostgreSQL备份工具,支持多平台、加密备份、跨主机备份和并发备份。 **四、最佳实践** - 定期备份:根据业务需求设定合理的备份频率,如每天、每周等。 - 多地备份:将备份存放在不同...

    python实现psql数据库备份还原(两种方法)

    同时,为了自动化备份和恢复,可以考虑使用定时任务(如Linux的`cron`)来定期运行这些Python脚本。 **注意事项**: - 在使用`pg_dump`和`pg_restore`时,确保它们已经在你的系统路径中,否则需要提供完整路径。 - ...

    java编写的数据库自动备份源码

    总的来说,这个Java编写的数据库自动备份源码是一个实用的工具,它体现了Java在数据库管理和自动化任务中的强大能力。理解并掌握这种工具的内部工作原理,可以帮助数据库管理员更有效地保护数据,确保业务的连续性和...

    数据库备份还原源代码

    本文将深入探讨“数据库备份还原”的概念、重要性、常见方法以及源代码实现。 首先,数据库备份是保护数据免受意外丢失或损坏的关键步骤。这可能包括硬件故障、软件错误、人为误操作、病毒攻击或者自然灾害等不可...

    Postgresql备份和增量恢复方案

    然而,在备份和恢复方面,PostgreSQL 不直接支持增量备份,这是一个需要注意的局限性。但通过结合全量备份和WAL(Write-Ahead Log)日志,我们可以实现类似的功能。 在 PostgreSQL 中,每次写入操作首先会更新WAL...

    backup:用于在Web服务器上备份和还原数据库和文件的Shell脚本

    备份脚本使用一个配置文件,其中每个网站都被设置为一个项目,并且可以具有多个数据库和文件夹路径进行备份。 每个备份文件也被复制到远程位置(通过SCP / SSH)。 目前可用于MySQL和PostgreSQL数据库。 依存关系 ...

    在PostgreSQL中自动备份

    首先,我们需要理解PostgreSQL备份的基本概念。备份主要分为热备份和冷备份两种类型: 1. **热备份**:在数据库运行时进行,通常利用`pg_dump`或`pg_basebackup`命令,允许在不停止服务的情况下创建备份。热备份...

    postgresql

    在提供的压缩包子文件名“pgsql”中,可以推测这是一个包含PostgreSQL安装文件的压缩包。安装这些文件通常包括以下步骤: 1. **下载与解压**:首先,用户需要从官方网站或其他可靠来源下载对应版本的PostgreSQL...

    KingbaseESR3R6优化备份工具合集

    3. **定制化备份工具**:可能是一个经过优化的备份工具,能规避已知问题,提高备份速度和可靠性。 4. **备份验证**:包含验证备份完整性和一致性的工具,确保备份数据在需要时可以成功恢复。 5. **应急恢复计划**:...

    数据库备份和文件夹备份

    数据库备份和文件夹备份是确保数据安全和系统稳定运行的重要环节。在IT行业中,无论是企业级应用还是个人项目,都需要对重要数据进行妥善管理和保护,以防数据丢失或损坏。下面将详细阐述这两个主题。 首先,数据库...

    PostgreSQL中的备份表(不是数据库)

    在PostgreSQL数据库环境中,对表进行备份而不是整个数据库是一个常见的需求,特别是在Windows操作系统下,确保重要数据的安全性和可恢复性至关重要。以下是对标题和描述中所述知识点的详细说明: 1. **PostgreSQL...

    QL SERVER 2000到POSTGRESQL数据迁移

    【SQL SERVER 2000到POSTGRESQL数据迁移】是一项技术性的工作,涉及两个不同数据库系统的数据转换。在这个过程中,我们需要确保数据的完整性和一致性,同时还要处理两种数据库之间结构差异的问题。以下是对迁移过程...

    pg_probackup:PostgreSQL备份和恢复管理器

    pg_probackup是一个实用程序,用于管理PostgreSQL数据库集群的备份和恢复。 它旨在执行PostgreSQL实例的定期备份,使您能够在发生故障时还原服务器。 该实用程序兼容: PostgreSQL 9.5、9.6、10、11、12、13; 与...

    数据库脚本数据库脚本

    6-2这个文件名称可能指的是一个分步骤的数据库脚本教程或者案例,可能涵盖了上述的一些概念和实践,帮助学习者逐步理解并掌握数据库脚本的编写技巧。通过学习和实践这些脚本,开发者能够更好地理解和运用数据库管理...

    备份本地的数据库到远程机上

    在这个场景中,`backup.bat`可能是一个执行数据库备份的批处理脚本,可能使用SQL Server的`BACKUP DATABASE`命令或其他数据库管理系统(如MySQL, PostgreSQL等)的类似功能。 2. **远程备份**: - 将本地数据库...

    远程导入备份orcal数据库命令

    远程导入与备份Oracle数据库是企业级数据库管理中的关键技能之一,尤其对于初学者而言,掌握这一操作能够极大地提升数据安全性和运维效率。本文将详细解析远程导入与备份Oracle数据库的操作流程,包括必要的环境配置...

    cgi网站备份www--2010-04-16.rar

    恢复CGI网站备份时,需要按照正确的顺序和配置还原这些文件,确保CGI脚本的执行路径正确,并重新设置权限和所有权。此外,还需要确保服务器环境(如Perl、Python或CGI解释器)已经安装并配置好,以便CGI脚本能正常...

    docker中psql数据库备份与恢复详解

    pg_dumpall是一个将Postgres数据库集群转储到SQL脚本文件中的工具,可以用来备份整个数据库集群。示例命令: ``` docker exec db_13 pg_dumpall -c -U mrp > mrp217 ``` 该命令会在容器db_13内执行pg_dumpall...

    backup-scripts:高性能 PostgreSQL 工具

    【标题】:“backup-scripts:高性能 PostgreSQL 工具” 在IT领域,PostgreSQL是一种高度可靠、...通过学习和使用这些脚本,用户不仅可以掌握数据库备份的最佳实践,还能深化对Shell脚本编程和PostgreSQL管理的理解。

    代理:备份和还原数据库的最佳方法

    它使用pg_dump , mysqldump或mongodump并添加: 安装过程简单互动配置无Cron标签编辑使用公钥/私钥对进行加密流上传到AWS S3 备份还原过程Docker兼容性上次备份时间超过30天时通过电子邮件提醒适用于没有临时文件...

Global site tag (gtag.js) - Google Analytics