Hostwinds 教程

寻找结果为:


目录


先决条件
步骤1:安装RCLONE
步骤2:设置遥控器
步骤3:同步您的文件
步骤4:用cron自动化该过程
步骤5(可选):加密文件
可选的设置以更好地控制
Rclone的替代方案
一目了然的工具比较
S3CMD - 简单且脚本友好
S3FS - 像文件系统一样的安装对象存储
AWS CLI - 亚马逊S3集成的理想选择
包起来

使用对象存储(rclone)同步Linux VPS

标签: VPS,  Linux 

先决条件
步骤1:安装RCLONE
步骤2:设置遥控器
步骤3:同步您的文件
步骤4:用cron自动化该过程
步骤5(可选):加密文件
可选的设置以更好地控制
Rclone的替代方案
一目了然的工具比较
S3CMD - 简单且脚本友好
S3FS - 像文件系统一样的安装对象存储
AWS CLI - 亚马逊S3集成的理想选择
包起来

保持Linux VPS与对象存储同步是一种管理备份,存储静态资产或卸载数据的明智方法,以进行性能和存储灵活性。

本指南使用RCLONE(一种可与大多数对象存储服务一起使用的轻巧且功能强大的工具)介绍该过程。

先决条件

这是您要在开始之前想要的:

  • Linux VPS: 您需要使用Shell访问VPS。这是您要同步的文件或目录所在的地方。

  • 对象存储提供商: 有几个 对象存储服务提供商 选择。选择一个可以扩展您的资源,与现有基础架构集成,当然适合您的预算。

  • 访问凭据: 您需要一个访问密钥和秘密键来验证存储提供商的API。这些由同步工具牢固地与您的水桶进行交互。

步骤1:安装RCLONE

RCLONE是一种免费的开源命令行实用程序,用于管理云存储中的文件。它支持众多不同的提供商,并且可以很好地同步,复制,加密和自动转移。

1。通过SSH登录到您的VPS。

ssh user@your-vps-ip

2。安装rclone:

curl https://rclone.org/install.sh | sudo bash

这将获取并安装最新版本。

如果您喜欢使用系统的软件包管理器:

Debian/Ubuntu:

sudo apt install rclone

Centos/Rhel:

sudo yum install epel-release
sudo yum install rclone

软呢帽:

sudo dnf install rclone

步骤2:设置遥控器

现在您将设置rclone,以便可以与您的储物桶交谈

启动交互式配置工具:

rclone config

在菜单中按照以下步骤:

  1. 选择 ñ 创建一个新的遥控器。
  2. 给它一个名字 默默特。此名称在命令中用于参考连接
  3. 从列表中选择您的存储提供商。
  4. 输入您的访问密钥和秘密密钥。
  5. 根据需要输入任何特定区域的端点或配置。
  6. 接受默认选项,除非您知道您需要特定的内容。

现在让我们测试您的设置:

rclone ls myremote:

如果所有内容都正确配置,则您要么会看到储物存储桶的列表,要么在不显示错误的情况下什么都不会返回。

此配置可创建一个持续的可重复使用的连接配置文件,并允许您在多个目录或脚本上使用它。

步骤3:同步您的文件

现在设置了Rclone,您可以将本地目录(例如您的网站或项目文件)与对象存储同步。

例如,说您想从 / var / www / html 到您的对象存储:

rclone sync /var/www/html myremote:backups/html --progress

这是该命令所做的:

  • 将您的本地文件夹(/var/www/html)与对象存储中的目标进行比较(myremote:backups/html
  • 传输任何新的或更新的文件
  • 从本地源中不再存在的目的地删除文件(您可以避免这种情况 - 请参见下面)

如果您只想上传新的或更改的文件而不从目的地删除任何内容,则可以使用 复制 反而:

rclone copy /var/www/html myremote:backups/html --progress

步骤4:用cron自动化该过程

为了使文件自动更新,您可以设置一个CRON作业:

1.打开您的crontab:

crontab -e

2。添加此行每天午夜同步文件:

0 0 * * * /usr/bin/rclone sync /var/www/html myremote:backups/html --quiet

您可以根据需要更改时间和路径。确保通往RCLONE的路径与安装的位置匹配(Rclone会告诉您)。

步骤5(可选):加密文件

如果您要处理敏感的数据 - 用户文件,内部文档或任何您不想暴露的内容 - Rclone可以在上传之前添加客户端加密。

这是我们设置的方式:

1. run rclone config再次:

rclone config

2。添加一个新遥控器并选择 地下室 作为存储类型。

3。将其指向您的原始遥控文件夹(例如, Myremote:备份/HTML).

4。选择一个密码并确认。

之后,您可以使用加密的远程来上传文件:

rclone sync /var/www/html mycryptremote:html --progress

可选的设置以更好地控制

您可以使用以下一些有用的标志:

- 快速列表 通过在文件列表期间使用更多内存:

rclone sync /var/www/html myremote:backups/html --fast-list

- 布威勒 盖帽带宽以避免减慢其他过程:

rclone sync /var/www/html myremote:backups/html --bwlimit 1M

- 日志档案 保留每个同步到日志文件的详细记录:

rclone sync /var/www/html myremote:backups/html --log-file=/var/log/rclone.log

Rclone的替代方案

尽管RCLONE是与对象存储同步的最灵活,最广泛推荐的工具之一,但还有其他公用事业值得了解的,尤其是如果您正在寻找不同的工作流程,更深入的集成或特定的兼容性。

以下是一些替代方案,它们的工作方式以及何时可能取决于您的需求。

一目了然的工具比较

工具

最好的

笔记

rclone

交叉管理员同步,高级工作流程

支持40多个云服务,非常可定制

S3CMD

仅S3的任务,脚本,简单性

轻巧而直接

S3FS.

文件系统风格的访问,应用程序兼容性

适合旧应用程序或简单的拖放工作流程

AWS CLI

深S3集成,AWS本地设置

完整的AWS环境的理想

S3CMD - 简单且脚本友好

S3CMD是一个 命令行工具 专为与Amazon S3和S3兼容对象存储服务互动而构建的。它非常适合脚本编写简单的上传,下载和同步任务,尤其是在CRON作业或自动部署管道中。

如果您要在环境中管理S3存储桶或想要与S3 API紧密相关的工具,则S3CMD提供简单,熟悉的命令和可靠的文档。

何时使用它:

  • 您已经与S3或兼容提供商(Wasabi,启用S3 API等的Backblaze B2等)一起工作。
  • 您需要一个轻巧,直接的工具,可以在Shell脚本中效果很好。
  • 您更喜欢专门为S3协议设计的工具。

安装:

sudo apt install s3cmd   # On Debian/Ubuntu

配置:

s3cmd --configure

您会被提示:

  • 访问钥匙
  • 密钥
  • 端点(如果不使用AWS)
  • 可选的加密或HTTPS设置

基本同步示例:

s3cmd sync /var/www/html/ s3://your-bucket/html/

S3FS - 像文件系统一样的安装对象存储

S3F可以让您安装一个S3存储桶,就好像它是本地目录一样。这意味着您可以使用标准Linux命令(CP,MV,RSYNC等)与您的云存储一起使用,就像正常磁盘一样。

如果您有不感知云但可以写入文件路径的工具,这将特别有用。S3FS使将输出重定向到对象存储是无缝的。但是,性能并不总是像本机文件系统那样快,并且对于高频读/写活动而言并不理想。

何时使用它:

  • 您需要应用程序才能读取/写文件,就像它们在本地磁盘上一样。
  • 您正在使用不支持Direct Cloud上传的软件。
  • 您更喜欢直接文件系统访问对象存储的灵活性。

安装:

sudo apt install s3fs

设置凭据:

echo ACCESS_KEY:SECRET_KEY > ~/.passwd-s3fs
chmod 600 ~/.passwd-s3fs

安装水桶:

mkdir ~/mybucket
s3fs your-bucket-name ~/mybucket -o passwd_file=~/.passwd-s3fs

AWS CLI - 亚马逊S3集成的理想选择

AWS CLI是亚马逊的官方命令行工具,用于管理AWS的几乎每个部分(包括S3)。

如果您不仅要做备份,例如设置存储桶权限,管理版本管理或触发lambda功能,AWS CLI提供了比其他工具更多的控制和选项。

何时使用它:

  • 您已经使用了AWS服务,并希望将存储任务集成到工作流程中。
  • 您需要完全访问S3功能,例如生命周期规则,权限和对象标签。
  • 您需要与自动化或CI/CD管道的兼容性。

安装(Linux):

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

配置它:

aws configure

提示时,输入:

  • 访问钥匙
  • 密钥
  • 默认区域
  • 输出格式(JSON,文本等)

同步示例:

aws s3 sync /var/www/html s3://your-bucket-name/html

包起来

保持VPS与对象存储同步是备份数据并使内容访问的可靠方法。无论您是定期上传还是同步实时文件夹,Rclone都可以为您提供有效执行的工具。

有了用于加密,日志记录和自动化的选项,您可以设置一个在后台安静地工作的系统,只是您想要的方式。

撰写者 Hostwinds Team  /  六月 11, 2021