|
|
1、配置,主要是 Access Key ID 和 Secret Access Key e1 U$ |4 v' @8 H4 c; Y5 k
s3cmd --configure X+ X: A- n+ b
$ X% h) n+ h3 |% P+ V+ b
2、列举所有 Buckets。(bucket 相当于根文件夹)0 [7 `; R2 I* f4 s7 B) t7 e. ?( i; w2 J
s3cmd ls/ b& F6 M3 p+ f8 p' H( c
2 {3 Z# d) N& ~+ f$ w6 g- G3、创建 bucket,且 bucket 名称是唯一的,不能重复,默认创建的 bucket 是公开的。8 d: M l3 `. ]# W" f0 c9 U7 P1 I7 j
s3cmd mb s3://my-bucket-name
6 ]4 c& `$ L* Y$ B- s0 W7 o9 t" {4 Y7 L, M* g" H0 o1 k& t* |
4、删除空 bucket q( v" k5 ]3 ^% j8 b/ w7 v4 \- H
s3cmd rb s3://my-bucket-name
. h5 o9 g3 S6 H( h7 s* T0 c; w( [
$ m2 o4 g" I6 P4 l; d5、列举 Bucket 中的内容
2 A" N' c- A3 v% R' Zs3cmd ls s3://my-bucket-name& y1 u" u0 T% U h/ ]* }
_( M: Z/ p+ U' b2 r7 l* n, \# N6、上传
2 t- c. |& u9 O! Ps3cmd put file.txt s3://my-bucket-name/file.txt
) K q; r6 N: C: c' s/ {
( z" M& ]! A7 R, Z/ H支持批量上传,直接指定多个文件,如
( b9 s& R% z) f5 ~s3cmd put t.py s3://tccpoc/t.py up.py s3://tccpoc/up.py1 p' L7 A* c9 G) ~
+ w. [5 _0 _- \$ \2 Y7 ^$ _
如果上传终断,比如ctrl+c,会显示upload-id,按照指示,带上`--upload-id`就可以实现断点上传, g$ n' k. ]- b9 ?' K9 {0 H
, l& [1 e3 }$ ~0 `; L
7、上传并将权限设置为所有人可读$ }- N+ C' E/ a, ~7 i d& s6 @# C
s3cmd put --acl-public file.txt s3://my-bucket-name/file.txt
; E- N$ R$ j- b# r0 c, J--acl-private,也可以是私有8 G m$ j5 R7 b8 M& w3 r1 \
8 W2 `7 _( `$ m! Z7 J7 E
8、批量上传文件/ y& S. R5 Q3 f) t- j* S* e
s3cmd put ./* s3://my-bucket-name/
! z/ a& q5 E1 \. d$ m
) ^$ J. N3 Q$ v- n* `, g! K9、下载文件5 _" M$ k( Q% C% u8 {# X
s3cmd get s3://my-bucket-name/file.txt file.txt
) I. O% r4 Y2 f& Q! e+ X6 S }. ?
支持批量下载,直接指定多个文件,如# {8 E, s! c3 [& K9 ?9 S1 p
s3cmd get s3://tccpoc/t.py s3://tccpoc/up.py3 [: _/ _; u2 g b- X8 q2 C( y
3 U: B& Y" o0 ^: B; d如果下载终断,比如ctrl+c,带上参数`--continue`,可以实现断点下载
0 ]: j. I( `% k4 P9 y8 v& x2 \3 `* X; Q$ a, b- o1 Q9 u/ Q/ {
10、批量下载1 P# {) j+ r1 h$ e
s3cmd get s3://my-bucket-name/* ./! s3 z( o. ^! q2 t8 i' U, k
- Y7 U) k/ O. j8 b, Y; }8 a4 P11、删除文件,
. G/ ]) h5 Y1 j: W* E, W' C' c% ~s3cmd del s3://my-bucket-name/file.txt
3 Y! ~, Z3 s9 L) `* u! s
7 y8 e0 U) ?* z4 H- k# Q4 P+ o支持批量删除,直接指定多个 bucket 对象,如( n% t7 a( F8 _
s3cmd del s3://my-bucket-name/file.txt s3://my-bucket-name/file2.txt
4 L: }+ r1 n" |1 [* Z" j/ s" Q/ z! O: N
12、来获得对应的bucket所占用的空间大小
1 O7 J0 t" Z q" r* r" R# W% ps3cmd du -H s3://my-bucket-name
) c0 \% |+ c. M1 D W: j, l: @$ s5 X2 c0 U: {! `! R
上传大文件时,使用 --multipart-chunk-size-mb=size 指定的分片大小必须是4的倍数,否则上传会报 400(InvalidPartOrder)
4 j+ a* p' F8 L! }
& Q$ H# r' F+ E! Q, D: O* c6 u, u w9 J, y5 E; o9 c( Z
其他常用参数! N1 E ?5 H# n5 J( a/ w
复制 --list-md5 结合list一起使用,打印md54 _! b! K* k+ Q5 m- M3 A
-H, --human-readable-sizes 人性化文件大小! ^. r8 a1 S2 n" n6 d7 }$ a7 }% b. C
-v, --verbose 显示详细的输出7 d" _- L6 [$ t
-d, --debug 调试信息
- b" U+ A2 j" z9 X' W5 P+ i9 c7 u --limit-rate=LIMITRATE 限速6 N# e/ |( k1 I% j2 Z, j
文件同步相关: K7 j; R0 ]; b1 X1 n
复制 --exclude=GLOB 通配( V/ O$ w! c/ n) y8 Q9 a3 S
--exclude-from=FILE 从文件读取排除列表
6 Q; v6 T0 V7 I- Z8 M --rexclude=REGEXP 正则形式的匹配排除
( D& D4 ?9 B c. ~ K! @2 W --rexclude-from=FILE 从文件读取正则形式的匹配排除( \, J. L! r, L8 c* W
9 ?! i" L: S$ M9 k+ i" Y; e+ { --include=GLOB 通配
' R c5 s6 F. \- W. d& [ --include-from=FILE 从文件读取文件列表2 _( K) b5 d0 P4 w. X" T+ u9 W. b) k* l
--rinclude=REGEXP 正则匹配% p9 l% h# `7 ?) A
--rinclude-from=FILE 从文件读取正则匹配
! V0 H6 g7 X5 a$ V8 ]- d1 v( v/ r* }$ x# 示例
4 [: r O+ ^$ z! S# s3cmd sync --exclude '*' --include 'link*' images/ s3://files3 {; }( I. E: I# k- E' }
upload: 'images/link.png' -> 's3://files/link.png' [1 of 1]
6 r1 `, m0 A/ A5 A, S; z8 z8094 of 8094 100% in 0s 206.34 kB/s done
/ ^3 l; K1 C( x" I6 N V- W" A/ S7 @( G; K
# s3cmd sync --exclude '*' --include 'link*' s3://files images23 h {7 {. h; P; a u' e
download: 's3://files/link.png' -> 'images2/link.png' [1 of 1]
j, H/ c6 P. @) l, [+ n, B8094 of 8094 100% in 0s 323.87 kB/s done" Y' [, G) |" k1 I
Done. Downloaded 8094 bytes in 1.0 seconds, 7.90 kB/s.: J* o8 v* N! P4 {1 j
ACL
. R/ D3 H8 a: B4 a# I l复制# s3cmd modify s3://files/link.png --acl-private! l+ d9 @% e# i
# s3cmd modify s3://files/link.png --acl-public0 l' X. I" y* e( Y$ q( B$ q1 Z6 X
; T0 S' T* m6 ^1 @, g- t/ R. e6 d n$ ~5 K
|
|