Avamar:容量管理 — 如何使用“modify-snapups”工具批量删除备份或使备份到期
摘要: 如何使用“modify-snapups”工具批量删除备份或使备份到期。
本文适用于
本文不适用于
本文并非针对某种特定的产品。
本文并非包含所有产品版本。
症状
本文将介绍如何在 Avamar 系统上使用 modify-snapups 工具,以帮助解决以下一些难题。
- 管理员希望批量删除备份,以解决或防止高容量情况。
- 系统将变满,尽管减少了保留策略,但此作仅影响新备份。此外,还需要更改现有备份的到期时间。
- 现有备份设置了不正确的到期日期。
- 业务要求发生变化,组织必须存储比最初计划更多或更少的备份。
原因
“modify-snapups.sh”应用工具是默认情况下存在于 Avamar 应用工具节点上的 /usr/local/avamar/bin 下的脚本。
解决方案
该实用程序替换了脚本“expire-snapups”和“delete-snapups”,它们是该工具的早期形式。这两个早期的脚本都已弃用,命令现在直接调用 modify-snapups,如果运行(请参阅注释中的项目 #1)。
到期和删除模式:
modify-snapups使用到期模式或删除模式运行。
传递给每个模式的标志几乎完全相同,可以通过将 --help 附加到命令来查看。(请参阅注释中的项目 #2)
脚本的作用是什么?
自行运行 modify-snapups 是安全的,因为它不会对 Avamar Server 进行任何更改。
当使用正确的参数运行时,该实用程序将生成一个包含命令列表的脚本。运行脚本会以串行方式运行命令列表,以便更改每个备份的到期日期或将其删除。
这些命令是根据传递给 modify-snapup 的标志生成的。
用户可以决定是否包含备份:
命令
示例示例 1:检查“mydomain”下的所有备份,并创建一个脚本,使 2015 年 3 月 1 日之前创建的备份过期。
该脚本将生成 mccli 备份编辑命令的列表,以对相应的备份执行 MODIFY(在本例中为到期)。不符合条件的那些也会列出,但以哈希 (#) 为前缀,并且描述为 CONSERVE:
示例 2:删除 mydomain 下创建超过一个月前的所有备份。
使用正确的日期,如示例 #1 所示,但为了说明,这里使用了“友好”的 Linux 日期表示法(1 个月前)。
脚本包含如下所示的输出(由于空间原因已截断)。在标头中,脚本准确解释了它正在执行的作以及生效的参数。该脚本于 2015 年 4 月 17 日运行。
使用 MODIFY 列出的备份会使用“mccli backup delete”命令进行更改。这些备份的“创建日期”都早于 1 个月前(2015 年 3 月 17 日)。
示例 3:延长现有备份的到期时间。
以下命令将获取在 2018 年 5 月 1 日至 15 日期间为 /clients 域下的客户端创建的备份,并创建一个脚本,该脚本在运行时会替换这些备份的过期时间,使其在创建备份的 100 天后过期。
运行脚本以修改或删除备份
强烈建议在运行此过程之前设置检查点。
创建脚本后,请仔细检查内容。当对要执行的作感到满意时,将脚本设置为可执行。
例如,创建一个脚本以删除 /mydomain 下超过 6 个月的所有备份。
将脚本设置为可执行文件并检查权限:
运行脚本。将输出重定向到另一个文件,以记录所做的更改。
如果脚本运行完成并再次运行,则会显示:
如果脚本需要很长时间才能运行,并且必须停止,则可以再次运行。为避免重新检查以前删除的备份,请手动编辑脚本以删除已处理的命令。或者,再次重新生成脚本。
生成和运行脚本可能需要花费大量时间。通过将工作分成较小的时间段或单个领域来“分而治之”是有帮助的。
到期和删除模式:
modify-snapups使用到期模式或删除模式运行。
modify-snapups --help
modify-snapups - modify snapups
Version: 7.1.0-370 (1.11)
Usage: modify-snapups [--mode={delete|expire}] [--help] [options ]
This program does nothing when invoked as modify-snapups.
Instead, invoke this program as delete-snapups or expire-snapups,
or else with --mode={delete|expire} before any other options.
脚本的作用是什么?
自行运行 modify-snapups 是安全的,因为它不会对 Avamar Server 进行任何更改。
当使用正确的参数运行时,该实用程序将生成一个包含命令列表的脚本。运行脚本会以串行方式运行命令列表,以便更改每个备份的到期日期或将其删除。
这些命令是根据传递给 modify-snapup 的标志生成的。
用户可以决定是否包含备份:
- 在特定日期范围内(--after / --before)
- 在某个域 (--domain) 下
- 对于某个客户端
- 是否包括 AVI、EM、MC 的内部 Avamar 数据库备份
- 是否在复制目标上包括备份
命令
示例示例 1:检查“mydomain”下的所有备份,并创建一个脚本,使 2015 年 3 月 1 日之前创建的备份过期。
modify-snapups --mode=expire --domain=/mydomain --before=2015-03-01 > expire-backups-output-script.txt
# MODIFY Snapup date: 2015-02-17 08:04:30 GMT Lab#: 418 Replicated: N/A echo running: "mccli backup edit --domain=/mydomain --name=myclient.avamar.com --labelNum=418 --created=2015-02-17 --expiration=2015-05-18" mccli backup edit --domain=/mydomain --name=myclient.avamar.com --labelNum=418 --created=2015-02-17 --expiration=2015-05-18 # CONSERVE Snapup date: 2015-04-17 08:05:18 IST Lab#: 457 Replicated: N/A # echo running: "mccli backup edit --domain=/mydomain --name=myclient.avamar.com --labelNum=457 --created=2015-04-17 --expiration=2015-07-16" # mccli backup edit --domain=/mydomain --name=myclient.avamar.com --labelNum=457 --created=2015-04-17 --expiration=2015-07-16 # CONSERVE Snapup date: 2015-04-16 08:03:46 IST Lab#: 456 Replicated: N/A # echo running: "mccli backup edit --domain=/mydomain --name=myclient.avamar.com --labelNum=456 --created=2015-04-16 --expiration=2015-07-15" # mccli backup edit --domain=/mydomain --name=myclient.avamar.com --labelNum=456 --created=2015-04-16 --expiration=2015-07-15
示例 2:删除 mydomain 下创建超过一个月前的所有备份。
modify-snapups --mode=delete --domain=/mydomain --before='1 month ago' > output-script.txt
使用正确的日期,如示例 #1 所示,但为了说明,这里使用了“友好”的 Linux 日期表示法(1 个月前)。
脚本包含如下所示的输出(由于空间原因已截断)。在标头中,脚本准确解释了它正在执行的作以及生效的参数。该脚本于 2015 年 4 月 17 日运行。
# ====================================================================== # CLIENT: /mydomain/server # Operation: DELETE selected snapups # After: "June 1 1999 00:00:00" (928191600) Tue Jun 1 00:00:00 IST 1999 # Before: "1 month ago" (1426614045) Tue Mar 17 17:40:45 GMT 2015 # ====================================================================== # *** NO SNAPUPS FOUND *** # ====================================================================== # CLIENT: /mydomain/myclient.avamar.com # Operation: DELETE selected snapups # After: "June 1 1999 00:00:00" (928191600) Tue Jun 1 00:00:00 IST 1999 # Before: "1 month ago" (1426614045) Tue Mar 17 17:40:45 GMT 2015 # ====================================================================== # CONSERVE Snapup date: 2015-03-18 08:03:31 GMT Lab#: 437 Replicated: N/A # echo running: "mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=437 --created=2015-03-18 --force=true" # mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=437 --created=2015-03-18 --force=true # MODIFY Snapup date: 2015-03-16 08:03:57 GMT Lab#: 435 Replicated: N/A echo running: "mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=435 --created=2015-03-16 --force=true" mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=435 --created=2015-03-16 --force=true # MODIFY Snapup date: 2015-03-13 08:01:30 GMT Lab#: 434 Replicated: N/A echo running: "mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=434 --created=2015-03-13 --force=true" mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=434 --created=2015-03-13 --force=true # MODIFY Snapup date: 2015-03-12 08:09:20 GMT Lab#: 433 Replicated: N/A echo running: "mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=433 --created=2015-03-12 --force=true" mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=433 --created=2015-03-12 --force=true
使用 MODIFY 列出的备份会使用“mccli backup delete”命令进行更改。这些备份的“创建日期”都早于 1 个月前(2015 年 3 月 17 日)。
示例 3:延长现有备份的到期时间。
以下命令将获取在 2018 年 5 月 1 日至 15 日期间为 /clients 域下的客户端创建的备份,并创建一个脚本,该脚本在运行时会替换这些备份的过期时间,使其在创建备份的 100 天后过期。
modify-snapups --domain=/clients/ --mode=expire --after='2018-05-01' --before='2018-05-15' --days=100 > expire-backups-output-script.txt . 8<----------------------SNIP------------------8< . # ====================================================================== # CLIENT: /clients/server.asl.lab.emc.com # Operation: EXPIRE selected snapups # After: "2018-05-01" (1525158000) Tue May 1 00:00:00 PDT 2018 # Before: "2018-05-15 " (1526367600) Tue May 15 00:00:00 PDT 2018 # ====================================================================== # MODIFY Snapup date: 2018-05-07 22:00:52 PDT Lab#: 498 Replicated: N/A echo running: "mccli backup edit --domain=/clients --name=server --labelNum=498 --created=2018-05-07 --expiration=2018-08-15" mccli backup edit --domain=/clients --name=server --labelNum=498 --created=2018-05-07 --expiration=2018-08-15 # MODIFY Snapup date: 2018-05-06 22:00:46 PDT Lab#: 497 Replicated: N/A echo running: "mccli backup edit --domain=/clients --name=server --labelNum=497 --created=2018-05-06 --expiration=2018-08-14" mccli backup edit --domain=/clients --name=server --labelNum=497 --created=2018-05-06 --expiration=2018-08-14 8<----------------------SNIP------------------8< . # CONSERVE Snapup date: 2018-06-25 22:00:41 PDT Lab#: 501 Replicated: N/A # echo running: "mccli backup edit --domain=/clients --name=server --labelNum=501 --created=2018-06-25 --expiration=2018-10-03" # mccli backup edit --domain=/clients --name=server --labelNum=501 --created=2018-06-25 --expiration=2018-10-03 # CONSERVE Snapup date: 2018-04-30 22:00:57 PDT Lab#: 491 Replicated: N/A # echo running: "mccli backup edit --domain=/clients --name=server --labelNum=491 --created=2018-04-30 --expiration=2018-08-08" # mccli backup edit --domain=/clients --name=server --labelNum=491 --created=2018-04-30 --expiration=2018-08-08
运行脚本以修改或删除备份
强烈建议在运行此过程之前设置检查点。
创建脚本后,请仔细检查内容。当对要执行的作感到满意时,将脚本设置为可执行。
例如,创建一个脚本以删除 /mydomain 下超过 6 个月的所有备份。
将脚本设置为可执行文件并检查权限:
admin@utility:~/modsnap/>: chmod +x delete-backups-mydomain-before-6monthsago.txt admin@utility:~/modsnap/>: ls -l -rwx------ 1 admin admin 15016 Apr 17 18:55 delete-backups-mydomain-before-6monthsago.txt
运行脚本。将输出重定向到另一个文件,以记录所做的更改。
admin@utility:~/modsnap/>: ./delete-backups-mydomain-before-6monthsago.txt running: mccli backup delete --domain=/mydomain --name=myclient.customer.com --labelNum=323 --created=2014-09-25 --force=true 0,22553,Backup deleted. Attribute Value ---------- -------------------------------------- path /mydomain/myclient.customer.com retention N labelnum 323 createtime 2014-09-25 18:07:04 IST plugin 3001
如果脚本运行完成并再次运行,则会显示:
1,22552,Backup does not exist
如果脚本需要很长时间才能运行,并且必须停止,则可以再次运行。为避免重新检查以前删除的备份,请手动编辑脚本以删除已处理的命令。或者,再次重新生成脚本。
生成和运行脚本可能需要花费大量时间。通过将工作分成较小的时间段或单个领域来“分而治之”是有帮助的。
其他信息
项目 #1
ls -ls /usr/local/avamar/bin/ | grep modify-snapups 0 lrwxrwxrwx 1 root root 14 Nov 28 19:42 delete-snapups -> modify-snapups 0 lrwxrwxrwx 1 root root 14 Nov 28 19:42 expire-snapups -> modify-snapups 24 -rwxr-xr-x 1 root root 24185 Sep 8 23:46 modify-snapups
术语“snapup”是一个过时的 Avamar 术语,可理解为备份的意思。它是 snapshot 和 backup 这两个词的混合体。
项目 #2
有关如何使用删除和过期模式的完整文档可通过在命令中附加 --help 获得。
modify-snapups --mode=expire --help modify-snapups --mode=delete --help
项目 #3
请注意以下文章。
- 内部文章:000191562 : Avamar - modify-snapups --domain 标记未按预期工作,导致脚本返回 “NO SNAPUPS FOUND”。
请观看此视频:
受影响的产品
Avamar产品
Avamar, Avamar Client, Avamar Server文章属性
文章编号: 000058216
文章类型: Solution
上次修改时间: 14 1月 2026
版本: 10
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。