场景
在CentOS 7.9操作系统上,使用s3cmd操作Ceph分布式存储系统。操作包括上传、下载、检索和管理数据等。
名词
Amazon S3,Amazon Simple Storage Service的简称,是一种对象存储服务,使用唯一性键值来存储任意数量的对象。
S3cmd,是一个免费的命令行工具和客户端,用于在Amazon S3和其他使用S3协议的云存储服务提供商中上传、下载、检索和管理数据。比如,Ceph支持S3协议。
bucket,在Ceph的对象存储模式中,bucket存放格式是:s3://BUCKET,相当于根目录下的一级目录;对象在bucket中存放格式:s3://BUCKET/OBJECT。
bucket,直译:桶。
1.1 安装s3cmd客户端
(1)安装s3cmd
安装s3cmd命令:yum install -y s3cmd
(2)配置s3cmd
配置命令:vi /root/.s3cfg
1.2 s3cmd常用命令
(1)ps帮助命令
命令:s3cmd --help
功能:查看s3cmd支持全部命令和选项,在实际工作中,查看这个手册应该是必备之选。
(2)配置s3cmd
命令:s3cmd --configure
功能:一个交互式配置工具。
(3)创建bucket
命令:s3cmd mb s3://ip-address
功能:创建一个bucket,名称:ip-address。bucket名称唯一,不能重复。
(4)删除空bucket
命令:s3cmd rb s3://ip-address
功能:只能删除空桶,如果桶有内容需先删内容,再删除桶。
(5)查看bucket
命令:s3cmd ls
功能:查看桶列表。
命令:s3cmd ls s3://ip-address/
功能:查看指定桶下的对象。
(6)查看bucket包括内容
命令:s3cmd la
功能:查看s3://下的桶列表,包括桶里面的对象。
(7)上传文件到bucket
命令:s3cmd put /home/jdk-8u281-linux-x64.tar.gz s3://ip-address
功能:上传文件到ceph的桶中存储。
(8)从bucket下文件
命令:s3cmd get s3://ip-address/jdk-8u281-linux-x64.tar.gz
功能:从ceph的桶中下载文件到本地。
(9)删除bucket中的文件
命令:s3cmd del s3://ip-address/jdk-8u281-linux-x64.tar.gz
命令:s3cmd rm s3://ip-address/jdk-8u281-linux-x64.tar.gz
功能:删除桶中文件。
(10)查看bucket已使用空间
命令:s3cmd du -H s3://ip-address
功能:查看桶中对象,占用空间大小。
(11)获取bucket的信息
命令:s3cmd info s3://ip-address
功能:查看桶信息。
命令:s3cmd info s3://ip-address/jdk-8u281-linux-x64.tar.gz
功能:查看桶中对象信息。
(12)复制bucket中文件
命令:s3cmd cp s3://ip-address/jdk-8u281-linux-x64.tar.gz s3://ip-address_new
功能:把文件从一个桶复制到另一个桶。
(13)移动bucket中文件
命令:s3cmd mv s3://ip-address/jdk-8u281-linux-x64.tar.gz s3://ip-address_new
功能:把文件从一个桶移动到另一个桶。
(14)本地目录下文件同步bucket
命令:s3cmd sync /home/apps/software/ s3://ip-address
功能:指定目录下文件,同步到ceph的桶中。
(15)对比指定目录下文件和bucket中文件差异
命令:s3cmd sync --dry-run /home/apps/software/ s3://ip-address
功能:比对本地目录下文件和bucket文件差异。
(16)对比指定目录下文件和bucket中文件并删除桶中差异文件
命令:s3cmd sync --delete-removed /home/apps/software/ s3://ip-address_new
功能:对比指定目录下文件和bucket中文件,删除指定目录没有但是在桶中有的文件;上传指定目录有的文件但是桶中没有的文件。
3.帮助命令详细列表
命令:s3cmd --help
评论区