-H 後面加上主機名稱如果是IP需要在前面加上http 例如http://172.21. . -a 後面加access_key 例如YT***************** -s 後面加secret_key 例如JlNVoLfLuJJ***********************
(1) 刪除單一bucket 此功能對應的腳本為thread-delete-bucket.py , 使用時指定-b參數後面加上bucket名稱
[wuchen@manager delete]$ python thread-delete-bucket.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test7
['test1', 'test2', 'test7']
[{'Key': u'osd.84.log'}] 1
(2)刪除bucket列表該功能對應的腳本為thread-delete-buckets.py , 使用前需要將bucket 列表每行一個bucket 名稱寫入一個配置文件中,該功能對應的腳本為thread-delete-buckets. py , 使用時指定-f參數後面加上設定檔的路徑(包括設定檔名稱)
[wuchen@manager delete]$ cat bucket.txt
test10
test3
test4
test5
test6
test7
test8
test9
[wuchen@manager delete]$ python thread-delete-buckets.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -f /home/wuchen/wuchen/delete/bucket.txt
deleting test10
[{'Key': u'osd.84.log'}] 1
deleting test3
[{'Key': u'osd.84.log'}] 1
deleting test4
[{'Key': u'osd.84.log'}] 1
deleting test5
[{'Key': u'osd.84.log'}] 1
deleting test6
[{'Key': u'osd.84.log'}] 1
deleting test7
[{'Key': u'osd.84.log'}] 1
deleting test8
[{'Key': u'osd.84.log'}] 1
deleting test9
[{'Key': u'osd.84.log'}] 1
(3) 刪除某個使用者所有bucket 此功能對應的腳本為thread-delete-user.py ,只需要基本的3個參數,刪除該使用者所有的bucket
[wuchen@manager delete]$ python thread-delete-user.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ***********************
使用腳本thread-download.py 分片多執行緒下載大檔案(大於8M), 如果是小於8M 小檔案下載只需要指定-t 參數為0
(1) 必寫參數-H 主機位址如果寫IP的話前面不需要加http 例如172.21. . -a 使用者的access_key 例如YT*****************
-s 使用者的secret_key 例如JlNVoLfLuJJ***********************
-b 要下載物件所在桶名稱例如test12 -o 要下載物件的物件名稱例如python.tar.gz 如果是包含多層資料夾目錄,則需要寫上完整的路徑-f 下載物件寫入本機的檔案路徑例如/home/wuchen/wuchen/download/download-file
(2) 可選參數-t 指定線程數預設是10個線程
-c 指定分片大小為多少M , 預設是8M
使用腳本download-folder.py 下載bucket中的某個資料夾到中,該功能會遞歸下載目錄中的所有子目錄
參數解析如下: -H 主機位址如果寫IP的話前面不需要加http 例如172.21. . -a 使用者的access_key 例如YT*****************
-s 使用者的secret_key 例如JlNVoLfLuJJ***********************
-b 要下載目錄所在桶名
-f 下載目錄資料存放在本地的路徑位置-p 要下載的s3目錄,如果是多層級的目錄需要給出完整的路徑,例如bucket下面有目錄test1 , test1有目錄test2, 要下載test1, 則- p後面加test1 ,要下載test2, -p 後面加test1/test2
使用預設參數下載
[wuchen@manager download]$ python thread-download.py -H 172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -o python.tar.gz -f /home/wuchen/wuchen/download/download-file
使用15個線程下載,分片默認
[wuchen@manager download]$ python thread-download.py -H 172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -o python.tar.gz -f /home/wuchen/wuchen/download/download-file -t 20
使用20個執行緒下載,分片為20M
[wuchen@manager download]$ python thread-download.py -H 172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -o python.tar.gz -f /home/wuchen/wuchen/download/download-file -t 20 -c 20
下載單一小文件
wuchen@manager download]$ python thread-download.py -H 172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -o python.tar.gz -f /home/wuchen/wuchen/download/download-file -t 0
[wuchen@manager download]$ python download-folder.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -f /home/wuchen/wuchen/s3-tool/download/result22 -p werfefdsa/dffds -b test12
指令執行後,本地result22目錄會下載bucket 名稱稱為test12中的werfefdsa/dffds
[wuchen@manager download]$ python download-folder.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -f /home/wuchen/wuchen/s3-tool/download/result22 -p werfefdsa -b test12
指令執行後,本機result22目錄會下載bucket 名稱稱為test12中的werfefdsa/
使用腳本thread-upload.py 分片多執行緒上傳大檔案(大於8M), 預設會依照8M 切片10執行緒上傳, 如果是小於8M 小檔案上傳只需要指定-t 參數為0
(1) 必寫參數-H 主機位址如果寫IP的話前面不需要加http 例如172.21. . -a 使用者的access_key 例如YT*****************
-s 使用者的secret_key 例如JlNVoLfLuJJ***********************
-b 要上傳物件所在桶名稱例如test12 -o 要上傳物件的路徑如果直接上傳到bucket下面可以不寫-o參數如果上傳到bucket下面某個資料夾下需要指定-o 為資料夾路徑-f 上傳物件在本地的檔案路徑例如/home/wuchen/wuchen/download/download-file
(2) 可選參數-t 指定執行緒數預設是10個執行緒可以不寫-c 指定分片大小為多少M , 預設是8M 可以不寫
使用腳本upload-folder.py , 遞歸上傳本機指定路徑的資料夾到bucket下,可以直接上傳到bucket下,也可以上傳到bucket下面的某個目錄路徑下參數解析如下: -H 主機位址如果寫IP的話前面不需要加上http 例如172.21. . -a 使用者的access_key 例如YT*****************
-s 使用者的secret_key 例如JlNVoLfLuJJ***********************
-b 要上傳的目錄所在桶名
-l 上傳目錄存放在本地的路徑位置-d 遞歸上傳本地指定路徑的資料夾到bucket下面的路徑位置,如果直接上傳到bucket下,則指定-d root, 如果上傳到bucket 下面的某個目錄路徑,則給予完整路徑,例如上傳到bucket下面的test1目錄下的子目錄test2 下,則指定-d test1/test2
使用預設參數上傳
python thread-upload.py -H 172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -f /home/wuchen/wuchen/upload/iflyek_url_tesy-1.0.1.100247.jar
使用15個執行緒下載,分片默認,上傳到bucket下面的test1目錄下
python thread-upload.py -H 172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test1 -o test1 -f /home/wuchen/wuchen/upload/iflyek_url_tesy-1.0.1.100247.jar -t 15
使用20個執行緒上傳,分片為20M 上傳,上傳到bucket下面的/test1/test2/test3 子目錄下
python thread-upload.py -H 172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -o /test1/test2/test3 -f /home/wuchen/wuchen/upload/iflyek_url_tesy-1.0.1.100247.jar -t 20 -c 20
將本機目錄直接上傳到bucket test12下面
[wuchen@manager upload]$ python upload-folder.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -l /home/wuchen/wuchen/s3-tool/upload/download -d root
將本機目錄上傳到bucket test12下面的werfefdsa目錄下
[wuchen@manager upload]$ python upload-folder.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -l /home/wuchen/wuchen/s3-tool/upload/download -d werfefdsa
使用jar包java-upload-download.jar 進行上傳下載,命令列參數指定如下: ( 1 )上傳檔案或目錄java -jar iflytek_url_tesy-1.0.1.10023.jar 後面的參數依此是bucket 名稱+ object名稱(包括上傳到bucket的目錄路徑) + 執行緒數+ 分片大小+ 上傳的檔案或目錄路徑+ upload字串(為了區分是上傳還是下載)
( 2 ) 下載檔案(下載目錄目前還容易出錯)
java -jar s3-tool-java.jar 後面的參數依此是bucket 名稱+ 要下載的檔案名稱(包括在bucket下面的完整路徑) + 線程數+ 分片大小+ 下載到本地的檔案或目錄路徑+ download字串
使用例子
1.上传文件夹,将文件夹 /lustre2/dlp/esxu/lustre-soft/上传到bucket下面
[root@jobsub-9-073 wuchen]# java -jar s3-tool-java.jar test-bucket test5 6 5242880 /lustre2/dlp/esxu/lustre-soft/ upload
Uploading etc
[########################################]: Completed
thread upload run time: 34s
2.上传文件 将文件/lustre2/dlp/esxu/test1.tar 上传到bucket test-bucket 下面,名称为test1.tar
[root@jobsub-9-073 wuchen]# java -Xmx10m -jar s3-tool-java.jar test-bucket test1.tar 10 5242880 /lustre2/dlp/esxu/test1.tar upload
Uploading etc
[########################################]: Completed
thread upload run time: 17s
3.下载文件 下载bucket下面的test1.tar 到本地重命名为 /lustre2/dlp/esxu/test2.tar
[root@jobsub-9-073 wuchen]# java -Xmx10m -jar s3-tool-java.jar test-bucket test1.tar 10 5242880 /lustre2/dlp/esxu/test2.tar download
Downloading etc
[########################################]: Completed
thread upload run time: 17s