Akamai Netstorage
路径指定为 remote:
你也可以指定子目录,例如 remote:/path/to/dir
。
如果你有 CP 代码,可以将其作为域名后的文件夹,例如 <域名>/<CP 代码>/<CP 代码内的内部目录>
。
例如,通常可以配置为带或不带 CP 代码的形式:
- 带 CP 代码。
[你的域名前缀]-nsu.akamaihd.net/123456/子目录/
- 不带 CP 代码。
[你的域名前缀]-nsu.akamaihd.net
查看所有存储桶
rclone lsd remote:
NetStorage 的初始设置需要获取一个账户和密钥。使用 rclone config
来引导你完成设置过程。
配置
以下是一个如何创建名为 ns1
的远程存储的示例。
- To begin the interactive configuration process, enter this command:
rclone config
- Type
n
to create a new remote.
n) New remote
d) Delete remote
q) Quit config
e/n/d/q> n
- For this example, enter
ns1
when you reach the name> prompt.
name> ns1
- Enter
netstorage
as the type of storage to configure.
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
XX / NetStorage
\ "netstorage"
Storage> netstorage
- Select between the HTTP or HTTPS protocol. Most users should choose HTTPS, which is the default. HTTP is provided primarily for debugging purposes.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / HTTP protocol
\ "http"
2 / HTTPS protocol
\ "https"
protocol> 1
- Specify your NetStorage host, CP code, and any necessary content paths using this format:
<domain>/<cpcode>/<content>/
Enter a string value. Press Enter for the default ("").
host> baseball-nsu.akamaihd.net/123456/content/
- Set the netstorage account name
Enter a string value. Press Enter for the default ("").
account> username
- Set the Netstorage account secret/G2O key which will be used for authentication purposes. Select the
y
option to set your own password then enter your secret. Note: The secret is stored in therclone.conf
file with hex-encoded encryption.
y) Yes type in my own password
g) Generate random password
y/g> y
Enter the password:
password:
Confirm the password:
password:
- View the summary and confirm your remote configuration.
[ns1]
type = netstorage
protocol = http
host = baseball-nsu.akamaihd.net/123456/content/
account = username
secret = *** ENCRYPTED ***
--------------------
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y
这个远程存储名为 ns1
,现在可以使用了。
示例操作
通过以下示例开始使用 rclone 和 NetStorage。更多 rclone 命令,请访问 https://rclone.cn/commands/。
查看项目中目录的内容
rclone lsd ns1:/974012/testing/
同步本地内容与远程内容
rclone sync . ns1:/974012/testing/
将本地内容上传到远程
rclone copy notes.txt ns1:/974012/testing/
删除远程上的内容
rclone delete ns1:/974012/testing/notes.txt
在 CP 代码之间移动或复制内容
你的凭证必须有权限访问同一远程上的两个 CP 代码。你不能在不同的远程之间执行操作。
rclone move ns1:/974012/testing/notes.txt ns1:/974450/testing2/
特性
符号链接支持
NetStorage 后端改变了 rclone --links, -l
的行为。上传时,不再创建 .rclonelink
文件,而是使用 “symlink” API 在远程创建相应的符号链接。不会创建 .rclonelink
文件,上传会被拦截,只会在远程创建与源文件名匹配且无后缀的符号链接文件。
这将使诸如 copy/copyto、move/moveto 和 sync 等命令能够在本地和远程目录之间上传和下载带有符号链接的内容。由于 rclone 内部的限制,无法将单个符号链接文件上传到任何远程后端。你始终可以使用 “backend symlink” 命令在 NetStorage 服务器上创建符号链接,请参考下面的 “symlink” 部分。
远程上的单个符号链接文件可以与 “cat” 等命令一起使用以打印目标名称,或与 “delete” 命令一起使用以删除符号链接,或与 copy、copy/to 和 move/moveto 命令一起使用以从远程下载到本地。注意:远程上的单个符号链接文件应指定包含后缀 .rclonelink
。
注意:服务器上不应存在任何后缀为 .rclonelink
的文件,因为使用 rclone 实际上无法上传/创建后缀为 .rclonelink
的文件,只有通过非 rclone 方法在远程手动创建时才会存在。
隐式目录与显式目录
使用 NetStorage 时,目录可以以两种形式存在:
- 显式目录。这是你在存储组中创建的实际物理目录。
- 隐式目录。这是指路径中尚未物理创建的目录。例如,在上传文件时,可以在目标路径中指定不存在的子目录。NetStorage 会将这些目录创建为 “隐式” 目录。虽然这些目录没有物理创建,但它们隐式存在,并且记录的路径与上传的文件相关联。
rclone 将拦截所有针对 NetStorage 远程的文件上传和 mkdir
命令,并会为上传路径中的每个目录显式发出 mkdir
命令。这将有助于与其他 Akamai 服务(如 SFTP 和内容管理 shell (CMShell))进行互操作。rclone 不保证对可能通过直接使用上传 API 创建的隐式目录的操作的正确性。
--fast-list
/ ListR 支持
NetStorage 远程通过使用 “list” NetStorage API 操作来支持 ListR 功能,以返回指定 CP 代码内所有对象的字典序列表,并在遇到子目录时递归处理。
-
rclone 默认会对某些命令使用 ListR 方法。诸如
lsf -R
之类的命令默认会使用 ListR。要禁用此功能,请包含--disable listR
选项以使用非递归的对象列表方法。 -
rclone 不会对某些命令使用 ListR 方法。诸如
sync
之类的命令默认不使用 ListR。要强制使用 ListR 方法,请包含--fast-list
选项。
使用 ListR 方法有优缺点,请参考 rclone 文档。一般来说,在远程上已存在的深层目录树中使用 sync
命令时,使用 --fast-list
标志会运行得更快,但会有额外的内存使用作为副作用。这也可能导致更高的 CPU 使用率,但整个任务可以更快完成。
注意:已知的一个限制是,当使用 ListR 方法时,“lsf -R” 会将目录中的文件数量和目录大小显示为 -1。如果这些数字在输出中很重要,解决方法是传递 --disable listR
标志。
清除功能
NetStorage 远程通过使用 “quick-delete” NetStorage API 操作来支持清除功能。出于安全原因,快速删除操作默认是禁用的,可以通过 Akamai 门户为账户启用该功能。rclone 会首先尝试对清除命令使用快速删除操作,如果此功能被禁用,则会回退到标准删除方法。
注意:在使用 “quick-delete” 时,请阅读 NetStorage 使用 API 以了解相关注意事项。一般来说,使用快速删除方法不会立即删除目录树,并且目标为快速删除的对象可能仍然可以访问。
标准选项
以下是特定于 NetStorage(Akamai NetStorage)的标准选项。
–netstorage-host
要连接的 NetStorage 主机的域名和路径。
格式应为 <域名>/<内部文件夹>
属性:
- 配置项:host
- 环境变量:RCLONE_NETSTORAGE_HOST
- 类型:字符串
- 是否必需:是
–netstorage-account
设置 NetStorage 账户名称
属性:
- 配置项:account
- 环境变量:RCLONE_NETSTORAGE_ACCOUNT
- 类型:字符串
- 是否必需:是
–netstorage-secret
设置用于身份验证的 NetStorage 账户密钥/G2O 密钥。
请选择 ‘y’ 选项来设置你自己的密码,然后输入你的密钥。
注意:输入此选项的值必须进行加密处理 - 请参阅 rclone obscure。
属性:
- 配置项:secret
- 环境变量:RCLONE_NETSTORAGE_SECRET
- 类型:字符串
- 是否必需:是
高级选项
以下是特定于 NetStorage(Akamai NetStorage)的高级选项。
–netstorage-protocol
选择 HTTP 或 HTTPS 协议。
大多数用户应选择 HTTPS,这是默认选项。HTTP 主要用于调试目的。
属性:
- 配置项:protocol
- 环境变量:RCLONE_NETSTORAGE_PROTOCOL
- 类型:字符串
- 默认值:“https”
- 示例:
- “http”
- HTTP 协议
- “https”
- HTTPS 协议
- “http”
–netstorage-description
远程存储的描述。
属性:
- 配置项:description
- 环境变量:RCLONE_NETSTORAGE_DESCRIPTION
- 类型:字符串
- 是否必需:否
后端命令
以下是特定于 NetStorage 后端的命令。
使用以下命令运行它们:
rclone backend COMMAND remote:
下面的帮助信息将解释每个命令需要哪些参数。
有关如何传递选项和参数的更多信息,请参阅 backend 命令。
这些命令可以使用 rc 命令 backend/command 在运行的后端上执行。
du
返回指定目录的磁盘使用信息
rclone backend du remote: [选项] [<参数>+]
返回的使用信息包括目标目录以及可能存在的任何子目录中存储的所有文件。
symlink
你可以使用 symlink 操作在对象存储中创建符号链接。
rclone backend symlink remote: [选项] [<参数>+]
所需的路径位置(包括适用的子目录)应以符号链接的目标对象结尾(例如,/links/mylink)。如果适用,请包含对象的文件扩展名。
rclone backend symlink <源文件> <路径>