“wget --mirror”替代方案

joe*_*ert 4 backup ssh mirror wget

我正在寻找使用它的替代方法,它不必使用 FTP,但它应该提供与 wget 的“--mirror”选项相同的功能,它只下载新的和更改的文件。

wget --mirror --preserve-permissions --directory-prefix=/hdd2/website-backups --exclude-directories=special,stats --ftp-user=user --ftp-password=pass ftp://ftp.domain.com
Run Code Online (Sandbox Code Playgroud)

目前,上述命令是通过家庭服务器上的 cron 作业每隔几天备份远程站点的方式。远程站点已移至具有 SSH 可用的新主机,并且我已经为 SSH 设置了公钥/私钥。现在我想使用比 wget/ftp 更安全的东西来进行自动备份,但是由于这个站点有很多图像文件,其中大部分不会改变,我真的不想压缩整个 documentRoot 和每次都下载。

Kyl*_*ndt 8

rsync是用于此的标准实用程序:

rsync -avz -e ssh source/ user@destServer:/dest/
Run Code Online (Sandbox Code Playgroud)
  • a 用于存档、保留权限、键入图章等。
  • v 表示冗长
  • e ssh , 使用 over ssh
  • z 用于压缩,如果需要的话。它不会尝试重新压缩存档 (zip) 文件。

rsync 通常随 Linux 发行版一起提供。它还满足您不传输未更改的东西的要求。

  • +1 用于 rsync。以下是一些有用的 rsync 标志:当您以交互方式运行 rsync 时(主要是在测试期间),请使用 **--progress** 标志。可以使用 **--stats** 标志收集一些信息性统计信息。此外,如果您_不_希望 rsync 占用所有带宽,您可以使用 **--bwlimit=KBPS** 每秒千字节数来限制其下载速率。我还发现当我必须使用像这样的非标准 ssh 端口时使用 -e 参数很有用 **-e" ssh -p 10222"** (2认同)