超全备份脚本!涵盖Oracle、MySQL、PG等主流数据库

分享概要

1.Oracle RMAN备份

1.1 创建目录

1.2 编辑脚本

1.3 脚本授权

1.4 执行脚本

1.5 定时任务

1.6 备份删除

2.Oracle逻辑备份

2.1 生成目录

2.2 备份脚本

2.3 定时任务

3.MySQL逻辑全|增备份

3.1 开启binlog日志

3.2 全备脚本

3.3 增备脚本

3.4 定时任务

3.5 恢复步骤

4.MySQL PXB全/增备份

4.1 备份脚本

4.2 备份删除

4.3 定时任务

5.PostgreSQL逻辑备份

5.1 备份脚本

5.2 定时任务

5.3 备份恢复

6.PostgreSQL物理备份

6.1 备份脚本

6.2 备份恢复

7.openGauss备份

7.1 备份脚本

7.2 定时任务

7.3 备份清理

在日常运行过程中,为防止出现数据库故障、病毒或者用户操作不当而导致数据丢失,必须要有良好的预备方案,特分享主流数据库的Shell脚本给大家。

1.Oracle RMAN备份

1.1 创建目录

1.2 编辑脚本

1.3 脚本授权

1.4 执行脚本

1.5 定时任务

1.6 备份删除

2.Oracle逻辑备份

2.1 生成目录

2.2 备份脚本

2.3 定时任务

3.MySQL逻辑全|增备份

3.1 开启binlog日志

3.2 全备脚本

3.3 增备脚本

3.4 定时任务

3.5 恢复步骤

4.MySQL PXB全/增备份

Xtrabackup是一个开源的MySQL数据库备份工具,由Percona公司开发和维护

4.1 备份脚本

4.2 备份删除

4.3 定时任务

5.PostgreSQL逻辑备份

以下是一个用于定时备份 PostgreSQL 数据库的示例脚本。这个脚本将使用 pg_dump 工具来创建数据库备份,然后将备份文件保存到指定的目录中,并可选择保留最近一段时间内的备份文件

5.1 备份脚本

5.2 定时任务

5.3 备份恢复

6.PostgreSQL物理备份

pg_rman是一个开源的PostgreSQL备份软件,pg_rman跑的不是流复制协议,而是文件拷贝,所以pg_rman必须和数据库Server安装在一起.

6.1 备份脚本

6.2 备份恢复

7.openGauss备份

7.1 备份脚本

7.2 定时任务

7.3 备份清理

如何使用脚本执行SQL Server 数据库压缩备份?

使用时,SQL Server 数据库会变得非常大,备份也是如此。它们占用大量磁盘空间,并且每次备份数据库或四处移动都非常耗时。因此,您可能想知道是否有任何方法可以创建压缩备份。

答案是“肯定”的。MSSQL 备份压缩是SQL Server2008 及更高版本上的一个强大功能,但“默认情况下它是关闭的”。要使用此功能,您可以使用 GUI 启用备份压缩选项,或使用带有压缩命令的备份脚本。

在本文中,我将向您展示如何使用压缩命令备份数据库SQL Server脚本的具体步骤。

启动SQL Server Management Studio (SSMS ) 并连接到您的实例,单击标准栏上的“新建查询”,或右键单击您的数据库名称并选择新建查询。输入以下语句:

BACKUP DATABASE databasename TO DISK = \’ filepath \’ WITH COMPRESSION

然后单击“执行”开始。

★温馨提示:

至于Filepath,您需要输入文件的路径和名称。例如:D:\\backup\\database.bak

如果你想备份更多的数据库,你可以用改变的数据库名称重复这个语句。如果你不想压缩备份,你可以删除WITH COMPRESSION

如果要压缩备份一个实例的所有 SQL数据库,启动 SSMS并照常连接,单击“新建查询”并输入以下语句:

然后单击工具栏上的“执行”开始。

此外,还有一些其他陈述可能对您有所帮助:

语句:\’WHERE name NOT IN (\’master\’,\’model\’,\’msdb\’,\’tempdb\’)\’ 用于排除您不想备份的数据库。如果您想备份更多,您可以根据需要进行更改。例如:

WHERE 名称不在 (\’tempdb\’)

如果您想在文件名中包含数据库名称,您可以更改语句:

SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)

进入:

SELECT @fileDate = CONVERT (NVARCHAR (20), GETDATE (), 112) + \’_\’ +REPLACE (CONVERT (NVARCHAR (20), GETDATE (), 108), \’:\’, \’\’)

如果要显示备份的进度统计信息,可以在“WITH COMPRESSION”之后添加“STATS=”。例如:

WITH COMPRESSION, STATS=5(随意更改数字)

使用带压缩的SQL Server脚本进行数据库备份对新手来说并不友好,复杂繁琐,任何小错误都可能导致备份失败。这种方法要求您熟悉T-SQL,并且能够根据需求进行相应的修改。

如果您不熟悉T-SQL或不想使用复杂的脚本,我建议您尝试更简单的方法,例如使用可视化管理软件。这样的软件更加方便,最重要的是,您只需单击几下即可随意更改设置。在众多选择中,我认为傲梅企业备份网络版是一个很好的解决方案,原因如下:

“更改压缩级别:”您可以更改压缩级别。压缩级别越高,备份文件越小。

跨 LAN 备份/传输:与 SSMS 不同,傲梅企业备份网络版 可以帮助您完成 LAN 内所有台式计算机、笔记本电脑、工作站和服务器的多个备份。

“备份计划:”您可以计划自动备份任务以在固定时间段内备份您的数据库。

“集中备份功能:”除了支持SQL数据库备份外,傲梅企业备份网络版还支持文件、分区、磁盘和操作系统的备份。

这些功能使得傲梅企业备份网络版成为一个强大而灵活的备份解决方案,可以简化和优化您的数据库备份工作。

首先,在您的计算机上下载并安装傲梅企业备份网络版。

启动软件,并通过单击计算机 > “安装客户端程序”“来安装代理程序包”。

在开始之前,您需要请求控制要备份的计算机。单击计算机 > “不受控制的计算机”,选择正确的 IP 并 右键单击它以“请求控制”。

当您的请求被所有客户端接受后,您就可以开始创建集中备份任务了。

1. 单击”任务“ > ”新任务“ > ”SQL Server 备份“。在提示窗口中,您可以看到3 个步骤。

2. 单击步骤1 中的“添加计算机”,然后选择您的客户端计算机的正确IP。

3. 步骤2是最重要的,这使得这个软件强大而独特。您可以在此步骤中“选择多个实例和数据库”进行一次备份。

4.在第3步中选择一个存储路径,在“共享””显示名字“的空白处填写,添加的路径将被保存以备后用。

5. 点击设置 > “压缩”,您可以选择压缩级别。级别越高,备份文件越小,但需要的时间越长。大多数时候,”普通“就足够了。然后单击”确定“ > ”开始备份“ >”创建和执行任务。“

6.除此之外,您还可以在“设置”下的“计划”中“设置”不同日/周/月时段的自动备份计划。此外,您可以在“高级”中选择完整备份或差异备份。

在本文中,我介绍了如何使用SQL Server脚本进行数据库压缩备份,希望对您有所帮助。当然,如果您觉得使用繁琐的SQL脚本进行压缩备份不太方便,也可以选择更为简便的方法,比如傲梅企业备份网络版。

使用傲梅企业备份网络版,您不仅可以一次性备份多个实例和数据库,还可以根据需要选择不同类型的备份。作为一款企业级备份解决方案,它能够轻松管理局域网内所有计算机的备份任务,绝对值得一试。

写一个脚本使用pgdump备份指定表指定条件的数据

前提条件:

– 确保已经安装了PostgreSQL数据库及其客户端工具,并且 pg_dump 命令在系统路径中。

– 具备对目标数据库的连接权限和表的读取权限。

脚本内容:

bash

#!/bin/bash

# 数据库连接信息

DB_USER=\”your_username\”

DB_PASSWORD=\”your_password\”

DB_HOST=\”your_host\”

DB_PORT=\”your_port\”

DB_NAME=\”your_database\”

# 要备份的表名

TABLE_NAME=\”your_table\”

# 备份条件

WHERE_CONDITION=\”column_name = \’value\’\”

# 备份文件路径

BACKUP_FILE=\”/path/to/backup.sql\”

# 设置环境变量以提供密码

export PGPASSWORD=$DB_PASSWORD

# 执行pg_dump命令备份指定表指定条件的数据

pg_dump -U $DB_USER -h $DB_HOST -p $DB_PORT -t $TABLE_NAME -a -Fp –inserts -c -w -v –data-only –column-inserts –exclude-table-data=\’*\’ –table-data-only -f $BACKUP_FILE $DB_NAME –where=\”$WHERE_CONDITION\”

# 取消环境变量以避免密码泄露风险

unset PGPASSWORD

脚本说明:

– 数据库连接信息部分:

– DB_USER :数据库用户名。

– DB_PASSWORD :数据库用户密码。注意,在实际使用中,应避免在脚本中明文存储密码,可考虑使用更安全的方式,如环境变量或密钥管理系统。

– DB_HOST :数据库主机地址。

– DB_PORT :数据库端口号。

– DB_NAME :要备份的数据库名称。

– 表和备份条件部分:

– TABLE_NAME :指定要备份的表名。

– WHERE_CONDITION :指定备份数据的条件,例如 column_name = \’value\’ ,这里可以根据实际需求修改为具体的SQL条件。

– 备份文件路径部分:

– BACKUP_FILE :指定备份文件的保存路径及文件名。

– pg_dump 命令部分:

– -U $DB_USER :指定数据库用户名。

– -h $DB_HOST :指定数据库主机地址。

– -p $DB_PORT :指定数据库端口号。

– -t $TABLE_NAME :指定要备份的表。

– -a :只备份数据,不备份模式(表结构等)。

– -Fp :使用纯文本格式备份。

– –inserts :使用 INSERT 语句备份数据,这样恢复时不需要依赖表结构已存在。

– -c :在恢复时添加 DELETE 语句以清空表数据,确保恢复的数据是完整的备份数据。

– -w :不提示输入密码(因为通过 PGPASSWORD 环境变量提供了密码)。

– -v :显示详细信息。

– –data – only :只备份数据。

– –column – inserts :使用带列名的 INSERT 语句,即 INSERT INTO table_name (column1, column2) VALUES (value1, value2) 形式。

– –exclude – table – data=\’*\’ :排除所有表的数据(除了指定的表)。

– –table – data – only :只备份表的数据。

– -f $BACKUP_FILE :指定备份文件的输出路径。

– –where=\”$WHERE_CONDITION\” :指定备份数据的条件。

– 环境变量部分:

– export PGPASSWORD=$DB_PASSWORD :设置环境变量 PGPASSWORD 以提供数据库密码,这样 pg_dump 命令在连接数据库时不需要手动输入密码。

– unset PGPASSWORD :备份完成后取消环境变量,以避免密码泄露风险。

将上述脚本保存为一个文件(例如 backup_table.sh ),给予可执行权限( chmod +x backup_table.sh ),然后根据实际的数据库和表信息修改脚本中的相应部分,即可运行备份。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。