- 卡巴斯基容器安全 2.0 帮助
- 关于卡巴斯基容器安全平台
- 解决方案架构
- 标准部署方案
- 准备安装解决方案
- 解决方案安装
- 删除解决方案
- 更新解决方案
- 解决方案界面
- 授权解决方案
- 数据提供
- 使用集群
- 处理仓库的镜像
- 调查安全事件
- 与第三方资源的集成
- 安全策略配置
- 合规性检查
- 配置和生成报告
- 文件威胁防护
- 用户、角色和范围
- 使用卡巴斯基容器安全 OpenAPI
- 安全事件日志
- 有关解决方案组件状态的信息
- 确保组件的安全性和可靠性
- 管理数据积累动态
- 备份和恢复数据
- 联系技术支持
- 应用程序的信息来源
- 限制和警告
- 第三方服务中的漏洞
- 词汇表
- 第三方代码信息
- 商标声明
- ATT&CK MITRE 使用条款
备份和恢复数据
PostgreSQL 机制可用于 PostgreSQL 数据库备份和数据恢复。您可以将该机制应用于卡巴斯基容器安全中的 PostgreSQL 数据库或者您可能拥有的现有 PostgreSQL 数据库。
数据库备份副本是使用 pg_dump 实用程序创建的。备份副本包括所有主要设置和 PostgreSQL 数据库对象,即使数据库是并行使用的。如果有备份副本,则可以快速恢复数据库。
如果没有备份副本,故障可能会导致 PostgreSQL 数据库中存储的信息不可恢复地丢失。
使用 pg_dump 实用程序可将 PostgreSQL 数据库导出为脚本或存档格式(例如 .TAR)。
#!/bin/bash
# Set variables
postgres_podname="kcs-postgres-0"
namespace="kcs"
POSTGRES_USER="pguser"
POSTGRES_DATABASE="api"
date=$(date +"%Y-%m-%dT%H:%M:%S"-"backup")
dir_main="$namespace-$date"
dir_db=$dir_main/db
# Start script
mkdir -p $dir_main $dir_db
# Get postgres dump
kubectl exec -it $postgres_podname -n $namespace -- bash -c "pg_dump -U ${POSTGRES_USER} -F c ${POSTGRES_DATABASE} > /tmp/pg_dump_backup.sqlc"
kubectl cp "$namespace/$postgres_podname:/tmp/pg_dump_backup.sqlc" pg_dump_backup.sqlc
mv pg_dump_backup.sqlc $dir_db/
kubectl exec -it $postgres_podname -n $namespace -- bash -c 'rm -rf /tmp/pg_dump_backup.sqlc'
要从备份副本恢复 PostgreSQL 数据库,可以使用 pg_restore 实用程序。它可以从 pg_dump 实用程序创建的压缩包中恢复 PostgreSQL 数据库。pg_restore 实用程序执行的命令会将数据库恢复到保存数据库时的状态。
#!/bin/bash
# Set variables
postgres_podname="kcs-postgres-0"
namespace="kcs"
POSTGRES_USER="pguser"
POSTGRES_DATABASE="api"
dir_db_backup="~/pg_dump_backup.sqlc"
# Postgres restore
kubectl cp $dir_db_backup "$namespace/$postgres_podname:/tmp/pg_dump_backup.sqlc"
kubectl exec -it $postgres_podname -n $namespace -- bash -c "pg_restore -U ${POSTGRES_USER} -d ${POSTGRES_DATABASE} -c /tmp/pg_dump_backup.sqlc"
kubectl exec -it $postgres_podname -n $namespace -- bash -c 'rm -rf /tmp/pg_dump_backup.sqlc'