如何在备份作业之前和/或之后运行脚本

本文适用于 阿曼达企业(AE)

信息类型:常规

信息说明:

有时,希望在备份作业之前和/或之后执行某些操作。 前脚本和后脚本可用于在备份运行的某些阶段之前和/或之后执行命令。 这些脚本可以在客户端或服务器上执行。

要在备份服务器或Linux / UNIX客户端上运行前脚本/后脚本,AE使用 脚本API。 该脚本必须位于运行脚本的备份服务器或客户端上,并且位于/ usr / lib / amanda / application /目录(如果是64位客户端系统,则为/ usr / lib64 / amanda / application /)。 此类脚本文件的所有权必须设置为amandabackup:disk,并且应是可执行的。 要在Windows客户端上运行脚本,AE使用Windows系统上创建的模板(请参见“指定脚本”(在Zmanda Windows客户端文档中)。 脚本可以为每个DLE执行一次,也可以为每个客户端主机执行一次。 前脚本和后脚本的用途包括:

  • 停止和启动数据库服务器,以便二进制备份保持一致
  • 拍摄数据库快照
  • 发送电子邮件或其他通知

在以下示例中,我们将在备份之前停止Linux / UNIX客户端计算机上的MySQL数据库,然后在备份完成后启动数据库。

步骤

在客户端计算机上:

创建名为“ script-sql-before”的脚本文件以停止MySQL数据库,并创建名为“ script-sql-after”的脚本文件以启动数据库,并将脚本文件放入/ usr / lib / amanda / application /(或/ usr / lib64 /客户端计算机上的amanda / application /(如果是64位系统)。 这些脚本文件的所有权必须设置为amandabackup:disk,并且应该是可执行的。

在Amanda服务器上:

将以下转储类型定义附加到Amanda服务器上的/ etc / zmanda / zmc / zmc_aee / zmc_user_dumptypes

定义脚本工具sql_before {注释“在备份前停止sql数据库”插件“ script-sql-before”在pre-dle-backup执行位置客户端执行}定义脚本工具sql_after {注释“在备份后启动sql数据库”插件“在后脚本上执行sql-sql-after”,在客户端执行后备份}

2.在Amanda服务器上的DLE上添加一个DLE。 备份| 什么 页面以在客户端计算机上备份MySQL分区。

3.编辑disklist.conf(位于/ etc / amanda /中)以包含如下所示的脚本(当前ZMC尚不方便这样做,因此请手动修改此文件并添加两行)

mysql.server.com“ / var / lib / mysql”“ / var / lib / mysql” {zmc_solaris_base压缩无估计calcsize服务器属性“ zmc_type”“ solaris”属性“ zmc_disklist”“脚本”属性“ zmc_version”“ 3”属性“ zmc_extended_attributes”“ gtar”属性“ zmc_amanda_app”“ gtar”属性“ zmc_occ”“ 91807232405”脚本“ sql_before”脚本“ sql_after” zmc_gtar_app}