将特定目录及其内容备份到远程位置

将特定目录及其内容备份到远程位置

我正在运行 Ubuntu 17.04,托管在 ovh 上并通过 PuTTy 远程访问(仅终端,无 GUI)。

我的目的是将包含正在运行的服务器的单个目录及其所有子文件/目录备份到存储各种备份的远程位置(最多有限制)。

  • 频率:至少每 24 小时一次。
  • 远程在哪里?:不确定,一些外部服务,如 Google Drive 可能取决于如何完成。免费 + 更多空间是最好的。
  • 恢复过程是不必要的,我所希望的只是将该目录发送到远程位置,以便在主操作系统或文件受到任何损坏时可以稍后手动检查/恢复。
  • 我不需要备份整个系统,只需要备份该目录及其内容。

我已经检查过的内容:

  • Ubuntu 的“BackupYourSystem”主要指南我仍然觉得我必须在这里问,因为我还很新。
  • 该指南中列出的一些程序和其他教程我并不完全信服。

我能得到一些关于如何做到这一点的建议吗?我刚接触 Ubuntu 一周。谢谢!如果需要任何进一步的信息,我很乐意提供。

答案1

你可能想研究一下rsync。首先

man rsync

它是为您想要实施的备份类型而制作的工具。

对于您的用例,它应该像运行一样简单

rsync -av --progress <user>@<host>:<directory> .

从您想要备份的机器和位置。

答案2

要从命令行远程使用 Google Drive,您可以使用REST API使用curl命令。

像这样 tar 和 zip 你的目录:

tar -jcf backup.tar.bz2 <directory>

使用以下方式发送至 Google Drive

curl -d @backup.tar.bz2 https://www.googleapis.com/upload/drive/v2/files --header "Content-Type:application/x-tar" 

要执行此操作,您需要一个授权令牌 - 请参阅文档

您需要修改curl上面的身份验证示例。

一旦完成并测试完毕,就可以将其放入脚本中。一旦完成后,要定期运行它,请使用crontab。使用

man crontab

然后使用编辑您的crontab条目

crontab -e

相关内容