mylvmbackup - 云端在线

这是 mylvmbackup 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


mylvmbackup - 使用 LVM 快照创建 MySQL 备份的实用程序

概要


mylvmbackup [选项]

商品描述


备份 是一个快速创建 MySQL 服务器数据完整物理备份的工具
文件。 要执行备份, 备份 获得所有表的读锁并刷新所有表
服务器缓存到磁盘,制作包含 MySQL 数据的卷的 LVM 快照
目录,并再次解锁表。 快照过程只需要少量
时间。 完成后,服务器可以继续正常操作,而实际文件
备份收益。

LVM 快照挂载到一个临时目录,所有数据都使用
焦油 默认程序。 存档文件是使用以下形式的名称创建的
备份-YYYYMMDD_hhmmss_mysql.tar.gz,其中 YYYY, MM, DD, hh, mmss 代表年份,
备份发生时间的月、日、小时、分钟和秒。 默认的
字首 备份, 日期格式和文件后缀可能会被修改。 使用时间戳存档
名称允许您运行 备份 多次而不会冒覆盖旧档案的风险。
可以只保留定义数量的最后备份,以避免用完
磁盘空间。

或者,代替 焦油,你可以使用 rsync的, 快照 or 备份 执行
存档。

rsync的 备份既可以执行本地备份,也可以备份到远程服务器
通过 SSH 使用 rsyncd 或 rsync。

快照 是一个包装 rsync的 自动保持和轮换给定数量的
上次备份(默认为 7 个)。 它利用硬链接链接到未更改的文件以进行保存
磁盘空间。

备份 是一个全局重复数据删除备份工具。 将一个大的 .tar 输入其中,它会
只存储它的重复区域一次,然后压缩并可选地加密结果。
提供另一个 .tar 文件,它还会重新使用在任何以前的备份中找到的任何数据。
这种方式只存储新的更改,只要文件差别不大,
所需的存储量非常低。 以前存储的任何备份文件都可以
随时完整阅读。

此外,备份类型 没有 为用户想要使用的情况提供 备份
仅用于创建快照并打算通过使用
合适的钩子。 (或者对于快照本身被认为是
备份)。

备份 还提供了几种记录和报告进度的方法和
备份运行成功。 日志消息可以打印到控制台 (STDOUT) 或
记录通过 系统日志. 此外,报告可以通过电子邮件发送给您。

一般 HINTS


需要运行 备份 在运行 MySQL 服务器的同一台主机上。 如果你的
MySQL 守护进程未在 localhost 上侦听或使用默认套接字位置,您必须
指定 - 主持人 or - 插座。 即使 备份 通过一个与服务器通信
正常的客户端连接获取读锁和刷新数据,它执行实际
通过直接访问文件系统进行备份。 这也是 MySQL 的一个要求
服务器的数据目录驻留在 LVM 卷上。 (不过,这样做是个好主意
LVM 备份到与数据目录所在的分区不同的分区。
否则,LVM 很有可能会耗尽 LVM 快照的撤消空间
维护和备份将失败。)

调用的用户 备份 必须有足够的文件系统权限才能创建
LVM 快照并挂载它。 这包括对备份目录的读/写访问。

如果您打算使用 LVM 快照备份 InnoDB 表,请注意它不是
足以锁定表并发出 冲洗 TABLES 命令获取表文件
进入一致状态。 当从这些恢复的文件启动 MySQL 服务器时,InnoDB
将检测这些表处于不一致状态并执行日志恢复
在可以再次访问表之前运行。 因为这可能需要一些时间(这
您可能不想在恢复服务器并试图让它重新站起来后花费
尽快),考虑使用该选项 --innodb_recover,这将执行
在归档之前对备份快照进行恢复操作。

恢复操作是通过产生第二个 mysqld 实例来执行的,该实例使用
快照卷作为数据目录。 请注意,此功能目前假定
默认 InnoDB 配置,其中存储所有 InnoDB 表空间和日志文件
在数据目录内 - 如果您使用类似的选项,它就无法正常工作
--innodb-数据主目录, --innodb-数据文件路径 or --innodb-log-group-home-dir 那个修改
InnoDB 表的默认文件布局。

如果您专门使用 InnoDB 表,您可能还需要考虑包含该选项
--skip_flush_tables, 以避免可能耗时且在这种情况下不必要的
缓冲区的刷新。 但是当涉及到 MyISAM 表时不要启用此选项!

挂钩


可以在不同阶段运行任意外部程序或脚本(钩子)
备份过程,作为备份过程的一部分执行附加操作。

这些脚本或可执行文件的符号链接应放置在
钩子目录 配置选项指向(/usr/共享/mylvmbackup 默认情况下)。 他们应该
成功完成后返回零,任何非零返回值都将被视为
将被记录的失败。

钩子脚本也可以实现为 Perl 模块。 模块必须命名 钩子名.pm
并且必须是类型的包 钩子名. 该模块必须实现 执行() 这是
打电话给 备份 启动钩子。 它必须在上返回布尔值真/假(1 或 0)
成功/失败。 执行() 将传递2个参数。 第一个参数是 克隆()
全局数据库句柄 $dbh。 这将允许钩子脚本与
数据库使用建立的连接。 第二个参数是一个字符串,包含
任何消息传递给 运行钩子() 功能。 该模块还必须实现 错误消息()
这将返回要发送到的字符串错误消息 日志消息(). 这将被称为
备份 ,尤其是 执行() 返回假/0。

脚本或符号链接的名称反映了钩子所在的阶段
叫。 目前,存在以下阶段:

预连接
在建立到数据库服务器的连接之前

预冲
在调用 FLUSH TABLES 之前

快照
在创建文件系统快照之前

预解锁
在数据库表再次解锁之前

预断线
在释放与数据库服务器的连接之前

预装
在安装快照卷之前

预备份
在执行快照备份之前

备份成功
备份成功后

备份失败
备份失败后

记录器
记录错误时

预清理
在卸载和丢弃快照之前

这些钩子是可选的,只有在特定阶段的文件存在时才会被调用
并且是可执行的。 请注意,钩子实现为 Perl 模块(钩子名.pm) 有优先权
在“普通”钩子脚本(钩子名),如果两者都存在,则只使用第一个。 这
所有钩子的执行都可以通过传递 --skip_hooks 选项或通过设置
跳过钩子 配置选项 1;

配置


备份 支持以下命令行选项。 同样的选项也可以
定义在 /etc/mylvmbackup.conf 配置文件(省略前导破折号,
课程)。 分发中包含一个示例配置文件。

--action=字符串
选择操作模式。 可能的值为 备份清除.

当这个选项被省略时, 备份 默认情况下假定采取行动,它执行
实际的备份创建。 保留较旧的备份文件。

清除 操作可用于从文件中删除较旧的 tar 或本地 rsync 备份
备份目录,除了可配置数量的最近备份,已定义
备份保留 选项。 在这种情况下会跳过备份创建过程。

请注意,此选项会擦除 所有 此目录中包含的文件与
早于最后 n 个备份文件的标准(隐藏的除外)
(点)文件!

--用户=字符串
指定用于连接到 MySQL 服务器的用户名。 默认是
.

--密码=字符串
指定用于连接到 MySQL 服务器的密码。 默认是
空字符串(无密码)。 或者,您可以通过定义密码来设置密码
环境变量 MYSQL_密码 在启动脚本之前。 但是请注意,这
方法被认为是高度不安全的,因为其他用户有可能获得
通过检查正在运行的进程的环境变量来获取密码。 见
MySQL 参考手册,了解有关密码安全的更多详细信息。

--host=字符串
指定用于连接到 MySQL 服务器的主机名。 注意
备份 需要在与要备份的 MySQL 服务器相同的系统上运行
继续运行 - 不要在此处输入远程主机的主机名或 IP 地址! 一个非空
的价值 主持人 以外 本地 覆盖任何给定的 插座 路径值。 这
默认为空字符串。

--端口=编号
指定用于连接到 MySQL 服务器的 TCP 端口号。 这个值
只有荣誉,如果 主持人 也提供并且不等于 本地。 该
默认为空字符串。

--socket=字符串
指定本地套接字文件的路径,如果它不在默认位置
地点。 默认值为空字符串。

- 安静的
禁止记录非正式消息。 警告和错误仍将被打印或
已记录(取决于所选的记录机制)。 默认为详细日志记录。

--innodb_recover
在执行备份之前在可写快照上运行 InnoDB 恢复。

--recoveryopts
传递给单独 MySQL 实例的启动选项的附加值
生成以执行 InnoDB 日志恢复选项。 取决于你的 MySQL
服务器版本,您可能需要修改这些启动参数。

默认是 --跳过网络 --跳过授予 --引导程序 --跳过系统日志
--skip-slave-启动.

--skip_flush_tables
不要发出 冲洗 TABLES LOCK 创建快照之前的命令。 仅有的
备份 InnoDB 表时使用此选项(因为它们不支持此功能
无论如何,在任何情况下都需要恢复)。 此选项跳过(可能是时间
消耗)刷新缓冲区。

--extra_flush_tables
如果您的数据库执行大量写入,则执行额外的初始操作可能会有所帮助
冲洗 TABLES 所以这样 创建 可以在交互超时期间完成
读锁定刷新。

--pidfile=字符串
指定服务器实例的 PID 文件的完整路径和文件名
生成以执行 InnoDB 恢复(请参阅选项 --innodb_recover)。 必须是
与实际运行的服务器使用的 PID 文件不同。 默认是
/var/run/mysqld/mylvmbackup_recoverserver.pid

--lvcreate=字符串
指定路径名 创建 程序。 默认是 创建.

--lvremove=字符串
指定路径名 删除 程序。 默认是 删除.

--lvs=字符串
指定路径名 LVS 程序。 默认是 LVS.

--mysqld_safe=字符串
指定路径名 mysqld_安全 程序。 默认是 mysqld_安全。 只要
用于执行 InnoDB 恢复。

--mycnf=字符串
指定 MySQL 配置文件的名称(例如 /etc/my.cnf) 或整个配置
目录(例如 /etc/mysql) 以包含在备份中。 默认是 /etc/my.cnf.

--skip_mycnf
跳过备份 MySQL 配置。 默认是包含一个副本
备份中的 MySQL 配置。

--hooksdir=字符串
在不同阶段要调用的外部脚本或可执行文件的位置
备份。 有关更多信息,请参阅本手册页中的 HOOKS 部分。 默认是
/usr/共享/mylvmbackup.

--skip_hooks
在备份期间跳过调用任何外部挂钩。

--vgname=字符串
指定MySQL数据目录所在逻辑卷的卷组
位于。 默认是 MySQL的.

--lvname=字符串
指定 MySQL 数据目录所在的逻辑卷的名称。
默认是 data.

--backuplv=字符串
指定用于快照卷的名称。 如果留空, _快照 将简单地
附加到原始卷名(例如 数据快照).

可以使用选定的 时间字符串() 格式化序列以创建快照
包含动态日期值的卷名称。 如果您使用薄的,这可能很有用
配置快照作为实际备份,通过启用 保持快照 选项。

目前,支持以下格式字符串:

%Y 4 位数字年份(例如 2009)

%m 月 (01..12)

%d 月份中的第几天,前导零

%h 月份缩写,

%H 小时,24 小时制,前导零

%M 分钟,前导零

%S 秒,前导零

示例: $backuplv=备份-%Y-%m-%d-%H-%M-%S 将扩展到 backup-2013-06-07-14-08-45.

--keep_snapshot
如果给出这个选项, 备份 在终止之前不会删除快照。
请注意,同时打开多个 LVM 快照可以减少 I/O
性能,您将需要在调用之前手动丢弃快照
备份 一次。

--keep_mount
如果给出这个选项, 备份 之前不会删除已安装的分区
终止。 此选项还暗示 keep_snapshot=1, 因为如果
快照被删除。 您需要在调用之前手动卸载此目录
备份 一次。

- 薄的
如果给出这个选项, 备份 将期望 LVM 卷使用精简
配置,并且快照将使用现有精简的物理空间
水池。 指定的任何尺寸 大小 被忽略。

--relpath=字符串
逻辑卷上到 MySQL 数据目录的相对路径(无前导或
尾部斜杠)。 示例:逻辑卷安装在 / var / lib, 但 MySQL
数据目录是/var/lib/mysql。 在这种情况下, 相对路径 应该设置为 MySQL的。 该
默认为空字符串。

--lvsize=字符串
指定快照卷的大小。 默认是 5G (5 GB)。

--backuptype=字符串
指定要执行的备份类型。 可用的选项是 焦油, rsync的, 快照,
备份没有. 请注意,使用 备份 仍然需要一个 焦油 可执行准备
备份档案。

--backuppretention=字符串
指定要保留多少以前的备份(仅 tar 存档或 rsync 目录)
执行时在备份目录中 清除 行动。 默认是 0 (保留全部
备份)。

请注意,此功能仅适用于具有静态目录的本地备份目录
姓名! 如果你使用 时间字符串() 备份目录的格式化序列,
保留模式将不起作用。

该脚本查看每个文件和目录的最后修改时间(mtime)以
确定将删除哪些文件。

请注意,此操作会删除 所有 备份中的文件和目录
早于最后 n 个文件的目录(隐藏(点)除外)
文件!

--前缀=字符串
添加到备份文件名的前缀。 它还附加到名称
用于挂载快照卷的目录。 默认值为 备份.

--后缀=字符串
添加到备份文件名的后缀(在时间戳之后)。 默认值为
_MySQL的.

--datefmt=字符串
备份文件名中包含的时间戳格式。 见 日期格式
格式描述的 perldoc 页面。 默认值为 %Y%m%d_%H%M%S,
这会创建一个时间戳,例如 YYYYMMDD_HHMMSS,例如 20070531_112549 可以为空
好吧,为了抑制添加时间戳(例如,当使用 rsync 始终同步到
相同的备份目录)。

--mountdir=字符串
挂载快照卷的路径。 默认值为
/var/run/mysqld/mylvmbackup/mnt/. 如果目录不存在,它将是
创建。

可以使用选定的 时间字符串() 格式化序列以创建目录
包含动态日期值的名称。 目前,以下格式字符串是
支持:

%Y 4 位数字年份(例如 2009)

%m 月 (01..12)

%d 月份中的第几天,前导零

%h 月份缩写,

%H 小时,24 小时制,前导零

%M 分钟,前导零

%S 秒,前导零

示例: $mountdir=/路径/到/%Y-%m-%d 将扩展到 /路径/到/2009-06-13

--backupdir=字符串
指定归档文件将写入的目录的路径名。
备份目录不得与 MySQL 数据目录位于同一卷上。 如果
该目录不存在,它将被创建。

可以使用选定的 时间字符串() 格式化序列以创建目录
包含动态日期值的名称。 目前,以下格式字符串是
支持:

%Y 4 位数字年份(例如 2009)

%m 月 (01..12)

%d 月份中的第几天,前导零

%h 月份缩写,

%H 小时,24 小时制,前导零

%M 分钟,前导零

%S 秒,前导零

示例: $mountdir=/路径/到/%Y-%m-%d 将扩展到 /路径/到/2009-06-13

除了本地目录,您还可以在此处提供有效的 rsync URL,例如
用户名@主机名:/路径, 主机名:路径 or 主机名::rsync-模块/路径。 这需要
正确配置的远程 rsync 设置(例如预先设置的 SSH 密钥或有效的 rsyncd
配置)。

请注意 备份保留 选项不适用于 rsync URL 或目录名称
使用格式字符串。 您需要在 备份目录
如果你想使用 清除 自动从文件中删除旧备份的操作
备份目录。

默认是 /var/run/mysqld/mylvmbackup/备份/

--mount=字符串
指定路径名 安装 程序。 默认是 安装.

--umount=字符串
指定路径名 卸除 程序。 默认是 卸除.

--tar=字符串
指定路径名 焦油 程序。 默认是 焦油.

--tararg=字符串
指定初始参数 焦油 程序。 默认是 心肺功能.

--tarsuffixarg=字符串
指定后缀参数 焦油 程序。 默认值为空字符串。
要排除数据库,您将通过 - 排除 DBNAME 点击此处。

--tarfilesuffix=字符串
指定 tarball 的后缀。 该值应根据
选择的压缩方法(例如 .tar.bz2 用于 bzip2 压缩)。 默认是
名为.tar.gz.

--compress=字符串
指定压缩程序的名称。 仅在以下情况下使用 备份类型 被设置为 焦油.
一些可能性是 GZIP, bzip2 or 伊兹玛. 该程序必须支持读取到
压缩数据来自 标准输入 并写信给 标准输出, 不需要中间
临时文件(因此,不能使用 7zip)。 也可以使用 .
在这种情况下,不会进行压缩。 确保更新 压缩参数 选项
tar文件后缀 因此。 默认是 GZIP. 可以留空。

--compressarg=字符串
指定给定的命令行选项 压缩 程序。 为了 GZIP, 那会
be --标准输出 --详细 - 最好的事物,为 伊兹玛 or bzip2 --标准输出 --详细 -7 和为 ,但
将是空的。 默认是 --标准输出 --详细 - 最好的事物.

--rsnap=字符串
指定路径名 快照 程序。 默认是 快照.

--rsnaparg=字符串
指定参数 快照 程序。 默认是 7,这导致它
保留最后 7 个快照(运行时有用 备份 每天一次)。

--rsnaprsyncarg=字符串
指定参数 rsync的 产生的进程 快照,例如 - 排除
\*.o --bw限制=8. 您不需要提供通常需要的双破折号
快照 分开这些论点。 默认值为空字符串。

--rsync=字符串
指定路径名 rsync的 程序。 默认是 rsync的.

--rsyncarg=字符串
指定参数 rsync的 程序。 默认是 -avWP. 你必须确保
递归选项被隐式包含在 -a,或显式地使用
-r.

--zbackup=字符串
指定路径名 备份 程序。 默认是 备份.

--zbackuparg=字符串
指定参数 备份 程序。 默认是 --未加密.

您可以使用 --密码文件 /路径/到/通过 创建加密的 zbackup 存储库。
备份存储库位于 备份目录 将被自动初始化
运行 备份 初始化 在第一次调用之前。

--xfs
使用 努伊德 用于安全挂载使用 XFS 文件的快照分区的挂载选项
系统。

--log_method=字符串
如何记录此脚本的输出。 有效的选项是 领事, 系统日志 or 。 该
默认值为 领事。 启用 系统日志 选项需要安装 系统::系统日志
Perl 模块。

--syslog_socktype=字符串
用于连接到 syslog 服务的套接字类型。 有效的选项是
本地人, TCPUDP. 默认值为 本地人.

--syslog_facility=字符串
定义特定的系统日志工具 默认值为空字符串。

--syslog_remotehost=字符串
远程系统日志服务器的主机名。

--mail_report_on=字符串
启用通过电子邮件将日志输出发送到指定的电子邮件地址。

此选项需要安装 MIME::精简版 Perl 模块以及功能性本地
sendmail(或替代)工具。

您还应该查看和调整 邮件发件人, 邮件到邮件主题
配置选项以满足您的要求。

支持的值为 决不要,这将完全禁用邮件报告。 一个值
时刻 为每次调用发送电子邮件报告 备份, 错误 只发送一个
发生错误情况时报告。

默认值为 决不要.

--mail_from=字符串
将在 起步价 电子邮件报告的标题(需要
邮件报告 选项来设置)。 默认值为 根@本地主机.

--mail_to=字符串
用于向其发送电子邮件报告的电子邮件地址(需要 邮件报告 选项
要设置)。 默认值为 根@本地主机.

--mail_subject=字符串
文本中要使用的 主题: 电子邮件报告的标题(需要 邮件报告
选项来设置)。 默认值为“本地主机的 mylvmbackup 报告”。

--configfile=字符串
指定备用配置文件。 默认是 /etc/mylvmbackup.conf.

- 帮帮我
显示显示可用选项的帮助消息。

使用 onworks.net 服务在线使用 mylvmbackup



最新的 Linux 和 Windows 在线程序