虚幻0516 发表于 2019-2-22 11:09:20

aws s3桶备份工具 s3cmd安装配置使用

  在防止个人和工作文件丢失或受损方面,已安装的数据备份系统是远远不够的。理想情况下,数据应该安全可靠地存储一个或多个远离您家或办公室的地方。所以,即使已经在优盘里备份了(过时的)文档,并在Google Drive同步备份了一部分,再增加一种备份方式也没有什么损害。
  这种存储方式还有一些问题。比如有些人会抱怨“设置太复杂”,有些人说,“之前试过,但我有时会忘记定期实际更新。”
  你有Amazon AWS帐号?使用操作系统的命令行很顺手?那么,我来介绍一个非常简单、十分便宜、万分可靠的DIY数据备份计划,只需设置一次,没有后续环节。(虽然你需要时不时地检查核对)。它的价格也很便宜。每月每GB仅0.03美元。
  下载安装S3cmd
  首先,需要将S3cmd安装到系统上。此过程通过了Linux上的彻底测试(不会造成任何伤害),在Mac上也是同样。所以我相信,对于Windows,AWS CLI也同样兼容。
  首先,安装Python和wget:
  sudo apt-get install python python-setuptools wget
  然后,用wget下载S3cmd 包(1.5.2 是目前最新版本):
  wget http://sourceforge.net/projects/s3tools/files/s3cmd/1.5.2/s3cmd-1.5.2.tar.gz
  运行tar,解压文档:
  tar xzvf s3cmd-1.5.2.tar.gz
  进入最新创建的S3cmd目录:
  cd s3cmd-1.5.2
  并运行安装程序:
  sudo python setup.py install
  现在可以配置S3cmd了:
  s3cmd --configure
  当您访问S3时需要填写AWS账号接入ID和密钥,以及一些其他认证、加密和账户信息。配置程序进行S3连接测试后会保存您的设置,然后,所有的准备工作就都完成了。
  创建数据备份:
  由于没有数据的数据备份没有什么意义,您需要确定到底哪些文件夹和文件需要备份。您还需要从AWS控制台创建一个新的bucket:
  现在,假设您把所有重要数据都存在workfiles目录下,并且bucket命名为mybackupbucket8387。备份命令就会是下面的样子:
  s3cmd sync /home/yourname/workfiles/ s3://mybackupbucket8387/ --delete-removed
  顺便说一句,源地址和目标地址最后的斜杠也都是很重要的。
  让我们检查下面的命令:
  Sync通知工具同步保存文件到源位置和目标位置。这意味着,该更新将首先检查两个目录的内容,添加存在于一个目录中任何文件的副本,而不是另一个。两个地址简单地界定了哪两个数据位置将被同步,–delete-removed命令工具删除S3 bucket上的所有文件,不再存储在本地。
  根据数据备份的大小,第一次运行可能需要一些时间。
  有些时候,您可能不想使用–delete-removed,也许您更想保留覆盖文件的旧版本存档。这时,只需要从命令行删除–delete-removed参数,并在S3 bucket启用版本就可以了。
  如果想进一步降低成本,同时还需要嵌入对存档已久的覆盖文件的自动删除命令,可以使用AWS控制台为bucket创建一个Lifecycle规则,将旧版本或文件——比如说大于三十天——传输到Glacier ,Glacier的存储成本仅为每月每GB0.01美元。
  所以说这是一个简单便宜的数据备份。但它尚未在“设置后就可以完全忘掉”的阶段,还是有一个十分简单的步骤(至少在Ubuntu系统中是这样):创建一个cron作业。
  如果想每小时同步一次文件,可以创建只包含以下两行的文本文件:
  #!/bin/bash
  s3cmd sync /home/yourname/workfiles/ s3://mybackupbucket8387/
  然后使用sudo, 把文件保存在 directory /etc/cron.hourly/ 目录下。
  假设文件命名为 “mybackup”, 以下命令可使文件运行:
  sudo chmod +x mybackup
  转自:https://www.csdn.net/article/2015-05-25/2824767
  原文地址:http://cloudacademy.com/blog/data-backup-s3cmd/

页: [1]
查看完整版本: aws s3桶备份工具 s3cmd安装配置使用