从远程服务器备份

从远程服务器备份

我正在使用 Ubuntu/Debian 机器。

我想将我们的专用网络服务器备份到内部本地位置。这有很多原因 - 我知道我们的网络主机会正确备份,但是有时我们将发布一个新网站,而我们的客户希望访问旧数据,而我们希望回滚到较早的版本网站的版本,以及其他类似的情况。

我知道要做到这一点我需要使用 rsync 和 cron,但我不知道更多。目的是将最新的备份获取到我们的内部服务器上,然后将该备份推送到我们的网络附加存储设备,其中也存储了以前的备份。

那么通过 rsync 我将始终在内部服务器上拥有最新版本,对吗? Rsync 只会传输已更新的文件。然后我可以从那里运行一个 cron,它将通过 rsync 或 SMB 推送到 NAS 盒子?

所以我的问题是,假设我的方法是正确的,我将如何使用 rsync 来拉取远程服务器上的 /home 目录?这是一个简单的过程吗?有 rsync 的初学者指南吗?

我可以从本地计算机进行 rsync 吗?我们没有静态 IP 地址,我想定期执行此操作,以便它每晚(或每周,具体取决于需要多长时间和占用多少空间)自动进行备份。

答案1

一般来说,你的想法都是朝着正确的方向的。针对您的问题具体解答:

  • “我可以运行一个 cron 来通过 rsync 或 SMB 推送到 NAS 盒子吗?”

    是的,一点没错。

  • “我如何使用 rsync 来拉取/home远程服务器上的目录?容易吗?

    是的,这是我使用的命令。查看rsync 文档解释:

    rsync -vrltpz --force --delete -e ssh [email protected]:/home/ /backups/myserver
    
  • 有初学者指南吗?

    许多,这是一本很好的食谱

  • 我可以从本地计算机进行 rsync 吗?

    是的。您可以从本地计算机运行上面的命令。

  • (你如何让 cron 来做这件事)?

    也不难。用于crontab编辑您的 cron 表:

    $ crontab -e
    

    编辑器将会出现。输入类似这样的内容每天备份一次:

    [email protected]
    @daily rsync -vrltpz --force --delete ... 
    

    Cron 对它的运行时间有着极其强大的控制能力,谷歌搜索一下就能找到很多例子,crontab 文档

相关内容