我正在运行 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