分类目录归档:Linux
Linux rsync 文件同步教程:跨服务器传输、断点续传与后台运行
下面是 两台宝塔服务器传输 14GB 文件的完整命令,从安装到传输、断点续传、校验,一步一步操作。
适用于 Ubuntu 系统,推荐使用 rsync + tmux。
第一步:旧服务器安装 rsync
登录旧服务器 A 的宝塔终端,执行:
|
1 |
apt update && apt install -y rsync |
安装完成后检查:
|
1 |
rsync --version |
第二步:新服务器安装 rsync 和 tmux
登录新服务器 B 的宝塔终端,执行:
|
1 |
apt update && apt install -y rsync tmux |
第三步:创建接收目录
在新服务器 B 执行:
|
1 |
mkdir -p /www/backup |
这里 /www/backup 是示例目录,你可以换成实际网站目录。
第四步:创建后台会话
在新服务器 B 执行:
|
1 |
tmux new -s transfer |
这样即使关闭宝塔终端,文件传输也不会中断。
第五步:开始传输(核心命令)
继续在新服务器的 tmux 终端执行:
|
1 2 3 4 |
rsync -avhP --info=progress2 \ -e "ssh -o Compression=no -p 22" \ root@旧服务器IP:/www/backup/ \ /www/backup/ |
需要修改的地方:
旧服务器IP:替换为旧服务器公网 IP。22:替换为旧服务器实际 SSH 端口。- 第一个
/www/backup/:旧服务器文件夹。 - 第二个
/www/backup/:新服务器接收文件夹。
首次连接输入 yes,再输入旧服务器 SSH 密码(前提是允许密码登录)。
第六步:退出终端,继续后台传输
按顺序操作:
- 按
Ctrl + B。 - 松开按键,再按
D。
需要重新查看传输进度时:
|
1 |
tmux attach -t transfer |
第七步:如果传输中断
重新进入 tmux:
|
1 |
tmux attach -t transfer |
如果原传输进程已经结束,则重新执行第五步的 rsync 命令。
-P 会保留未完成的文件,重新运行时可以利用已传输的数据继续同步。
第八步:传输完成后校验
在新服务器执行:
|
1 2 3 4 |
rsync -avhnc \ -e "ssh -p 22" \ root@旧服务器IP:/www/backup/ \ /www/backup/ |
这个命令不会修改文件,而是检查两台服务器的文件差异。
最终需要执行的命令汇总
旧服务器 A 复制
|
1 |
apt update && apt install -y rsync |
新服务器 B 复制
|
1 2 3 |
apt update && apt install -y rsync tmux mkdir -p /www/backup tmux new -s transfer |
在 tmux 中执行传输 复制
|
1 2 3 4 |
rsync -avhP --info=progress2 \ -e "ssh -o Compression=no -p 22" \ root@旧服务器IP:/www/backup/ \ /www/backup/ |
注意: 14GB 少量大文件不建议使用 -z 压缩,尤其是 ZIP、RAR、MP4 等已经压缩的文件。此方案能够直接在两台云服务器之间传输,无需经过本地电脑。
阿里云2核2G服务器,在宝塔安装fileinfo卡死问题解决(fileinfo若可用内存小于1G,可能会安装不上)
Linux速查表
资料内容来自公众号:GeekHour,学习记录于此,方便日后查阅学习。

yum解决:Error: Failed to download metadata for repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist
一、Centos8停止更新后,使用yum安装报如下错误:
|
1 2 3 4 5 |
[root@ce5d8a78a3b5 /]# yum install -y epel-release Failed to set locale, defaulting to C.UTF-8 CentOS Linux 8 - AppStream 78 B/s | 38 B 00:00 Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist |
二、解决方法
|
1 |
cd /etc/yum.repos.d/ |
- 进入yum的repo存储库目录
|
1 |
cd /etc/yum.repos.d/ |
- 修改所有的CentOS文件内容
|
1 2 3 |
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* |
- 更新yum源为阿里镜像
|
1 2 3 4 5 |
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo yum clean all yum makecache |
- yum安装测试是否可以yum安装
|
1 |
yum install wget –y |