Li_
09/22
本文最后更新于
2024年09月22日,已超过
199天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
需求
笔者需要将一台服务器上的所有数据备份到另一台服务器上。由于数据量比较大,需要长时间传输。
为了防止登录远程服务器可能中途断开连接,考虑使用tmux + rsync
组合进行数据备份迁移。
用法
- 首先确保备份服务器空间足够,避免传输过程将服务器存储空间用满情况。
- 启动tmux
1 | $ tmux new -s backup |
创建一个backup的tmux会话,并进入会话中。
- 执行rsync备份
在backup会话环境中执行以下命令
1 2 3 | $ mkdir BACKUP_DIR # 创建备份目录 $ rsync -avz --exclude={ '*.o' , '*.mod' , 'p4/*' } remote_user@remote_ip: /path/to/need/backup/dir/ BACKUP_DIR # 输入remote服务器用户密码 |
其中rsync命令选项意义:
-a
存档模式-v
命令执行详细信息-z
在传输过程中压缩数据--exclude
排除匹配模式文件/目录传输,以上设置不传输*.o
和*.mod
编译临时生成文件以及p4
目录,根据自己需要进行设置。
使用SSH协议传输数据,remote_user@remote_ip:/patch/to/need/backup/ BACKUP_DIR
。
- 恢复tmux环境
如果tmux会话突然断开了,不用紧张,rsync命令仍在后台执行。执行以下命令再次进入tmux会话
1 | $ tmux attach -t backup |
- 退出TMUX环境
如果需要退出tmux会话,执行ctrl-b d
(先按Ctrl与b键,再按d键)退出tmux环境。


版权属于:
MetMan's Blog
本文链接:
https://blog.metman.top/index.php/archives/141/(转载时请注明本文出处及文章链接)
作品采用:
《署名-非商业性使用-相同方式共享 4.0 国际 》许可协议授权