exec db docker from A to B

A服务器的硬盘将满,将数据库从A服务器拷贝到B服务器

df-h 查看数据库所在硬盘已经使用96%,欲将数据库迁移至服务器b的/nfs/quant

注意点:当前cpu所剩无几,不能gzip,硬盘也没有多余空间用于压缩docker,最好的办法就是直接将docker exec 到nfs/quant

首先检查nfs/quant的写入权限,当然不检查的话,后面无法写入,自然就会去修改了,

复制代码
chown = change owner(修改所有者)
chmod = change mode(修改权限)
chgrp = change group(修改组)

使用tmux开一个后台可运行的窗口,保证你在关闭或着断线的情况下可以一直运行命令,不至于中途退出

复制代码
docker exec your-db pg_dumpall -U yourusername > /nfs/quant/nameyouwant_${DATE}.sql

将your-db yourusername nameyouwant 替换成你自己的,DATE=$(date +%Y%m%d_%H%M%S) 在这之前运行一下,方便记录是什么时候迁移的,备份数据也是可以如此使用。

然后去B服务器,监控,查看数据迁移大小的变化

复制代码
watch -n 2 "ls -lh /nfs/quant/nameyouwant-*.sql 2>/dev/null"

上面完成之后,备份image,使用docker ps查看image, 替换yourimage nameyouwant 运行迁移镜像的命令

复制代码
docker save yourimage -o /nfs/quant/nameyouwant-image-${DATE}.tar

完成后,导出配置

复制代码
docker inspect your-db > /nfs/quant/nameyouwant-config-${DATE}.json

ls -lh /nfs/quant/nameyouwant-*${DATE}*

查看所有文件是否已经完成迁移,已经完成迁移。

相关推荐
小小龙学IT几秒前
Qt 数据库编程(Qt SQL 模块)深度解析
数据库·sql·qt
报错小能手6 分钟前
Kubernetes入门实战课 4
云原生·容器·kubernetes
TDengine (老段)18 分钟前
TDengine vs InfluxDB — 全方位对比
大数据·数据库·物联网·时序数据库·tdengine·涛思数据·iotdb
我的xiaodoujiao23 分钟前
Django 基础知识详细图文教程 4-Django 视图定义与使用
开发语言·数据库·后端·测试工具·django·sqlite
l1t24 分钟前
DeepSeek总结的DuckDB在 CI 中为 release 和 glibc CLI 构建启用 LTO - #24225
开发语言·数据库·ci/cd·duckdb
NJCloud27 分钟前
Docker 镜像管理:分层结构、构建优化与最佳实践
java·docker·容器
harmony&30 分钟前
Docker 容器技术从入门到实战:生态系统、安装部署与架构详解
docker·容器·架构
veminhe33 分钟前
`sqlalchemy` 基本使用
数据库
2601_9620746843 分钟前
大数据-263 实时数仓 - Canal 工作原理 工作流程 MySQL Binglog基本介绍
大数据·数据库·mysql
2601_962181961 小时前
数据库之PostgreSQL详解
数据库·postgresql