rsync

rsync 是一个强大的文件同步和传输工具,适用于类 Unix 系统。Windows 用户可以通过 WSL(Windows Subsystem for Linux)来使用 rsync。以下是详细的安装和使用方法:

Ubuntu/Debian:

1
2
sudo apt update
sudo apt install rsync

CentOS/Fedora:

1
sudo yum install rsync

macOS(使用 Homebrew):

1
brew install rsync

注意,两台机器都要安装好。

使用方法

1
rsync [选项] 源目录/ 目标目录
  • -a:归档模式,保留所有文件属性
  • -v:详细输出
  • -z:压缩传输
  • -P:显示进度并允许断点续传
  • –delete:删除目标目录中源目录没有的文件
  • -h:以人类可读的格式显示文件大小
  • -e:指定要使用的远程 shell,通常用于指定 SSH 连接参数

本地同步:

1
rsync -avzP /path/to/source/ /path/to/destination/

远程同步(将本地文件同步到远程服务器):

1
rsync -avzP /path/to/local/ user@remote_host:/path/to/destination/

远程同步(将远程文件同步到本地):

1
rsync -avzP user@remote_host:/path/to/remote/ /path/to/local/

使用 SSH 密钥:

1
rsync -avzP -e "ssh -i /path/to/private_key -p PORT" /path/to/local/ user@remote_host:/path/to/destination/

注意:使用 rsync 时,源目录路径后的斜杠 “/” 很重要。如果加上斜杠,rsync 会复制目录中的内容;如果不加斜杠,rsync 会复制整个目录。

SCP

SCP(Secure Copy Protocol)是一种基于 SSH 协议的文件传输工具,用于在本地主机和远程主机之间安全地复制文件。相比 rsync,SCP 有以下特点:

  • 简单易用: SCP 的语法相对简单,适合快速的文件传输操作。
  • 安全性: SCP 使用 SSH 协议进行加密传输,确保数据在传输过程中的安全性。
  • 广泛支持: 无需在远程主机上安装额外软件,windows 也会自带,不像 rsync 只能在类 unix 系统中使用。
  • 单次传输: SCP 主要用于一次性文件传输,不支持增量同步

相比 rsync 的优缺点:

SCP 基本用法:

1
2
3
4
5
6
7
8
# 从本地复制到远程
scp /path/to/local/file user@remote_host:/path/to/remote/directory

# 从远程复制到本地
scp user@remote_host:/path/to/remote/file /path/to/local/directory

# 复制整个目录(使用 -r 选项)
scp -r /path/to/local/directory user@remote_host:/path/to/remote/directory

总的来说,对于简单的文件传输任务,SCP 是一个不错的选择。但对于需要频繁同步或大量文件传输的场景,rsync 通常是更好的选择。

加密备份

以上的备份就足够大部分场景了,本地和远程都是可以的。但是有时候我们需要加密备份,比如说备份在硬盘中的文件,不希望被拾到的人看到内容,就需要加密备份。

最方便的还是 cryptomator ,能定义一个保险库,然后直接把保险库整个的备份就好。

随后随便怎么传输。