NetBackup教程FG006-NetBackup命令行参考指南与常用命令实战
本文档风哥主要介绍NetBackup命令行工具的使用方法,包括常用命令的语法、参数和实战示例,风哥教程参考NetBackup官方文档NetBackup Commands Reference Guide,适合备份管理员和系统工程师在学习和测试中使用。学习交流加群风哥微信: itpux-com
Part01-基础概念与理论知识
1.1 命令行概述
NetBackup命令行工具是NetBackup的重要组成部分,提供了比图形界面更强大和灵活的功能。通过命令行工具,管理员可以执行各种NetBackup操作,如备份、恢复、配置管理等。
- 功能更全面:提供图形界面无法实现的功能
- 自动化:可以通过脚本实现自动化操作
- 远程操作:可以通过SSH等方式远程执行命令
- 批量处理:可以同时处理多个对象
- 性能更高:执行速度比图形界面快
1.2 命令结构
NetBackup命令的基本结构如下:
/path/to/netbackup/bin/command [options] [arguments]
# 示例
/NetBackup/app/netbackup/bin/bpbackup -w -p StandardPolicy -s “Manual Backup” /NetBackup/fgdata
1.2.1 命令路径
NetBackup命令通常位于以下目录:
- 主服务器:/NetBackup/app/netbackup/bin/
- 介质服务器:/NetBackup/app/netbackup/bin/
- 客户端:/NetBackup/app/netbackup/bin/
1.2.2 命令选项
NetBackup命令的选项通常以短横线(-)开头,用于指定命令的行为。例如:
- -w:等待命令执行完成
- -p:指定备份策略
- -s:指定备份时间表
1.2.3 命令参数
命令参数是命令操作的对象,例如文件路径、策略名称等。
1.3 命令分类
NetBackup命令可以分为以下几类:
1.3.1 备份和恢复命令
- bpbackup:执行备份操作
- bprestore:执行恢复操作
- bpduplicate:复制备份映像
- bpexpdate:过期备份映像
1.3.2 配置管理命令
- bpplinfo:管理备份策略
- bpclient:管理客户端
- bpstuadd:管理存储单元
- bpconfig:配置NetBackup
1.3.3 作业管理命令
- bpjoblist:列出作业
- bpjobinfo:查看作业信息
- bpkill:终止作业
- bpretry:重试作业
1.3.4 存储管理命令
- bpmedialist:列出介质
- bpmedia:管理介质
- tpconfig:配置磁带设备
- scan:扫描存储设备
Part02-生产环境规划与建议
2.1 命令行最佳实践
NetBackup命令行使用最佳实践:
– [ ] 熟悉常用命令的语法和参数
– [ ] 使用绝对路径执行命令
– [ ] 测试命令在非生产环境中
– [ ] 记录命令执行结果
– [ ] 定期备份配置文件
– [ ] 使用脚本自动化重复操作
– [ ] 遵循最小权限原则
2.2 命令脚本化
命令脚本化是提高NetBackup管理效率的重要方法,通过脚本可以自动化执行重复的操作,减少人为错误。
2.2.1 脚本编写建议
– 使用bash或Python编写脚本
– 添加注释说明脚本功能
– 处理错误情况
– 记录脚本执行日志
– 测试脚本在非生产环境中
– 定期更新脚本
2.2.2 脚本示例
# daily_backup.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: `http://www.fgedu.net.cn`
# 执行每日备份
/NetBackup/app/netbackup/bin/bpbackup -w -p DailyPolicy -s “Daily Backup” /NetBackup/fgdata
# 检查备份状态
if [ $? -eq 0 ]; then
echo “Backup completed successfully”
else
echo “Backup failed”
# 发送告警邮件
mail -s “Backup Failed” admin@fgedu.net.cn < /tmp/backup.log
fi
2.3 命令安全
NetBackup命令的安全使用非常重要,需要注意以下几点:
– 限制命令的执行权限
– 避免在命令中使用明文密码
– 定期审查命令执行日志
– 使用sudo控制命令执行权限
– 避免在公共场合执行敏感命令
– 定期更新NetBackup版本
Part03-生产环境项目实施方案
3.1 基本命令
3.1.1 查看NetBackup版本
$ /NetBackup/app/netbackup/bin/nbversion
NetBackup 11.0.0.1
3.1.2 查看NetBackup服务状态
$ /NetBackup/app/netbackup/bin/bpps
NB processes running:
root 1234 1 0 08:00 ? 00:00:00 /NetBackup/app/netbackup/bin/nbdbms
root 1235 1 0 08:00 ? 00:00:00 /NetBackup/app/netbackup/bin/nbemm
root 1236 1 0 08:00 ? 00:00:00 /NetBackup/app/netbackup/bin/nbpem
root 1237 1 0 08:00 ? 00:00:00 /NetBackup/app/netbackup/bin/nbjm
root 1238 1 0 08:00 ? 00:00:00 /NetBackup/app/netbackup/bin/nbmaster
3.1.3 启动和停止NetBackup服务
$ /NetBackup/app/netbackup/bin/nbstart
Starting NetBackup services…
NetBackup services started successfully.
# 停止NetBackup服务
$ /NetBackup/app/netbackup/bin/nbstop
Stopping NetBackup services…
NetBackup services stopped successfully.
3.2 备份命令
3.2.1 执行手动备份
$ /NetBackup/app/netbackup/bin/bpbackup -w -p StandardPolicy -s “Manual Backup” /NetBackup/fgdata
Backup started, job id = 12345
Waiting for job to complete…
Job 12345 completed successfully
3.2.2 创建备份策略
$ /NetBackup/app/netbackup/bin/bpplinfo -add -policy StandardPolicy -pt Standard -st FULL -freq 1 -window 24 -residence DiskStorage
# 添加客户端
$ /NetBackup/app/netbackup/bin/bpplclients -add StandardPolicy -client fgedu.net.cn -os linux
# 添加备份选择项
$ /NetBackup/app/netbackup/bin/bpplinclude -add StandardPolicy /NetBackup/fgdata
3.2.3 查看备份作业
$ /NetBackup/app/netbackup/bin/bpjoblist -all
Job ID Type State Status Client Policy Schedule Start Time
12345 BACKUP Completed 0 fgedu.net.cn StandardPolicy Full Backup 2026-04-10 08:00:00
12346 RESTORE Completed 0 fgedu.net.cn StandardPolicy Full Backup 2026-04-10 09:00:00
3.3 恢复命令
3.3.1 执行手动恢复
$ /NetBackup/app/netbackup/bin/bprestore -w -C fgedu.net.cn -t 0 /NetBackup/fgdata/file.txt
Restore started, job id = 12346
Waiting for job to complete…
Job 12346 completed successfully
3.3.2 查看恢复作业
$ /NetBackup/app/netbackup/bin/bpjoblist -all -type RESTORE
Job ID Type State Status Client Policy Schedule Start Time
12346 RESTORE Completed 0 fgedu.net.cn StandardPolicy Full Backup 2026-04-10 09:00:00
Part04-生产案例与实战讲解
4.1 命令实战示例
4.1.1 案例1:批量执行备份
#!/bin/bash
# batch_backup.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: `http://www.fgedu.net.cn`
# 定义备份目录列表
BACKUP_DIRS=(“/NetBackup/fgdata” “/NetBackup/app” “/NetBackup/config”)
# 执行备份
for DIR in “${BACKUP_DIRS[@]}”; do
echo “Backing up $DIR…”
/NetBackup/app/netbackup/bin/bpbackup -w -p StandardPolicy -s “Batch Backup” $DIR
if [ $? -eq 0 ]; then
echo “Backup of $DIR completed successfully”
else
echo “Backup of $DIR failed”
fi
done
4.1.2 案例2:监控备份作业
#!/bin/bash
# monitor_backup.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: `http://www.fgedu.net.cn`
# 查看失败的备份作业
FAILED_JOBS=$(/NetBackup/app/netbackup/bin/bpjoblist -all -state FAILED -type BACKUP)
if [ -n “$FAILED_JOBS” ]; then
echo “Failed backup jobs found:”
echo “$FAILED_JOBS”
# 发送告警邮件
echo “$FAILED_JOBS” | mail -s “Failed Backup Jobs” admin@fgedu.net.cn
else
echo “No failed backup jobs found”
fi
4.2 脚本开发实战
4.2.1 自动备份脚本
# auto_backup.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: `http://www.fgedu.net.cn`
# 配置参数
POLICY=”StandardPolicy”
SCHEDULE=”Daily Backup”
BACKUP_DIRS=(“/NetBackup/fgdata” “/NetBackup/app”)
LOG_FILE=”/var/log/netbackup/auto_backup.log”
# 日志函数
log() {
echo “[$(date +’%Y-%m-%d %H:%M:%S’)] $1” >> $LOG_FILE
}
# 开始备份
log “Starting automatic backup…”
for DIR in “${BACKUP_DIRS[@]}”; do
log “Backing up $DIR…”
/NetBackup/app/netbackup/bin/bpbackup -w -p $POLICY -s “$SCHEDULE” $DIR
if [ $? -eq 0 ]; then
log “Backup of $DIR completed successfully”
else
log “Backup of $DIR failed”
# 发送告警邮件
echo “Backup of $DIR failed” | mail -s “Backup Failed” admin@fgedu.net.cn
fi
done
log “Automatic backup completed”
4.2.2 备份状态报告脚本
# backup_report.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: `http://www.fgedu.net.cn`
# 生成备份状态报告
REPORT_FILE=”/tmp/backup_report.txt”
# 清空报告文件
> $REPORT_FILE
# 添加报告标题
echo “NetBackup Backup Status Report” >> $REPORT_FILE
echo “Generated on: $(date)” >> $REPORT_FILE
echo “================================” >> $REPORT_FILE
# 查看成功的备份作业
echo “\nSuccessful Backup Jobs:” >> $REPORT_FILE
echo “————————” >> $REPORT_FILE
/NetBackup/app/netbackup/bin/bpjoblist -all -state Completed -type BACKUP >> $REPORT_FILE
# 查看失败的备份作业
echo “\nFailed Backup Jobs:” >> $REPORT_FILE
echo “———————-” >> $REPORT_FILE
/NetBackup/app/netbackup/bin/bpjoblist -all -state FAILED -type BACKUP >> $REPORT_FILE
# 发送报告邮件
mail -s “NetBackup Backup Status Report” admin@fgedu.net.cn < $REPORT_FILE
# 显示报告
echo "Backup status report generated and sent to admin@fgedu.net.cn"
cat $REPORT_FILE
4.3 故障排除命令
4.3.1 查看作业详细信息
$ /NetBackup/app/netbackup/bin/bpjobinfo -jobid 12345 -detailed
Job ID: 12345
Status: Failed
Status Code: 13 (file read failed)
Client: fgedu.net.cn
Policy: StandardPolicy
Schedule: Full Backup
Error: read error: file /NetBackup/fgdata/largefile.dat
4.3.2 查看客户端连接状态
$ /NetBackup/app/netbackup/bin/bpclntcmd -pn
Expecting response from server master.fgedu.net.cn on port 13782
server master.fgedu.net.cn:13782 is alive
4.3.3 查看存储单元状态
$ /NetBackup/app/netbackup/bin/bpstuutil -l
Storage Unit Name: DiskStorage
Status: UP
Capacity: 1000.0 GB
Used: 200.0 GB
Available: 800.0 GB
Part05-风哥经验总结与分享
5.1 命令使用技巧
NetBackup命令使用技巧:
- 使用帮助:大多数命令都支持 -h 或 –help 选项,查看命令的使用方法
- 使用别名:为常用命令创建别名,提高输入效率
- 使用管道:结合 grep、awk 等命令,过滤和处理命令输出
- 使用重定向:将命令输出重定向到文件,便于后续分析
- 使用脚本:将常用操作封装为脚本,提高管理效率
- 使用环境变量:设置 NETBACKUP_BIN 等环境变量,简化命令输入
5.2 命令自动化
NetBackup命令自动化建议:
5.2.1 自动化任务
- 定期备份:使用 cron 定期执行备份脚本
- 状态监控:定期检查备份状态,发现问题及时告警
- 报告生成:定期生成备份状态报告,发送给相关人员
- 配置备份:定期备份NetBackup配置,确保可以快速恢复
- 介质管理:定期检查和清理过期的备份介质
5.2.2 自动化工具
- Shell脚本:适合简单的自动化任务
- Python脚本:适合复杂的自动化任务
- Ansible:适合批量管理多个NetBackup服务器
- Jenkins:适合构建自动化工作流
5.3 命令参考资源
NetBackup命令参考资源:
- 官方文档:NetBackup Commands Reference Guide
- 在线帮助:通过命令的 -h 选项查看帮助
- 社区论坛:Veritas NetBackup Community
- 技术博客:Veritas技术博客和第三方技术博客
- 培训课程:Veritas官方培训课程
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
