-H seguido del nombre del host. Si es una IP, debe agregar http delante, por ejemplo http://172.21 seguido de access_key, por ejemplo YT********* . *********** -s seguido de Agregar clave_secreta como JlNVoLfLuJJ****************************** *
(1) Eliminar un solo depósito. El script correspondiente a esta función es thread-delete-bucket.py. Cuando lo use, especifique el parámetro -b seguido del nombre del depósito.
[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) Eliminar la lista de depósitos. El script correspondiente a esta función es thread-delete-buckets.py. Antes de su uso, debe escribir un nombre de depósito para cada línea de la lista de depósitos en un archivo de configuración. La función es thread-delete-buckets.py, cuando la use, especifique el parámetro -f seguido de la ruta al archivo de configuración (incluido el nombre del archivo de configuración).
[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) Eliminar todos los depósitos de un usuario. El script correspondiente a esta función es thread-delete-user.py. Solo requiere tres parámetros básicos para eliminar todos los depósitos del usuario.
[wuchen@manager delete]$ python thread-delete-user.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ***********************
Utilice el script thread-download.py para descargar archivos grandes (más de 8 M) en subprocesos múltiples fragmentados. Si desea descargar archivos pequeños de menos de 8 M, solo necesita especificar el parámetro -t como 0.
(1) El parámetro requerido -H es la dirección del host. Si escribe IP, no necesita agregar http al frente, por ejemplo, 172.21 -a Clave de acceso del usuario, por ejemplo, YT***** . ****************
-s clave_secreta del usuario como JlNVoLfLuJJ******************************
-b El nombre del depósito donde se descargará el objeto, como test12 -o El nombre del objeto que se descargará, como python.tar.gz Si contiene un directorio de carpetas de múltiples capas, debe escribir la ruta completa -f El objeto de descarga se escribe en la ruta del archivo local, por ejemplo /home/wuchen/wuchen/download/download-file
(2) El parámetro opcional -t especifica el número de subprocesos. El valor predeterminado es 10 subprocesos.
-c especifica el tamaño del fragmento en M, el valor predeterminado es 8M
Utilice el script download-folder.py para descargar una carpeta en el depósito. Esta función descargará de forma recursiva todos los subdirectorios del directorio.
El análisis de parámetros es el siguiente: -H Si la dirección del host se escribe como IP, no es necesario agregar http al frente, por ejemplo, 172.21 . -a Clave de acceso del usuario, por ejemplo, YT******. ***************
-s clave_secreta del usuario como JlNVoLfLuJJ******************************
-b El nombre del depósito donde se encuentra el directorio que se descargará.
-f Los datos del directorio de descarga se almacenan en la ubicación de la ruta local. -p El directorio s3 que se descargará. Si es un directorio de varios niveles, se debe proporcionar la ruta completa. Por ejemplo, hay un directorio test1 debajo del depósito. y test1 tiene un directorio test2. Si desea descargar test1, entonces: agregue test1 después de p, para descargar test2, agregue test1/test2 después de -p.
Descargar usando parámetros predeterminados
[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
Descarga usando 15 subprocesos, fragmentación de forma predeterminada
[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
Utilice 20 subprocesos para descargar y la fragmentación es de 20 millones
[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
Descargar un único archivo pequeño
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
Después de ejecutar este comando, el directorio local result22 descargará werfefdsa/dffds en el nombre del depósito test12.
[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
Después de ejecutar el comando, el directorio local result22 descargará werfefdsa/ en el nombre del depósito test12.
Utilice el script thread-upload.py para cargar archivos grandes (más de 8 M) en varios subprocesos. De forma predeterminada, los fragmentos de 8 M se cargarán en 10 subprocesos. Si desea cargar un archivo pequeño de menos de 8 M, solo necesita especificar. el parámetro -t como 0.
(1) El parámetro requerido -H es la dirección del host. Si escribe IP, no necesita agregar http al frente, por ejemplo, 172.21 -a Clave de acceso del usuario, por ejemplo, YT***** . ****************
-s clave_secreta del usuario como JlNVoLfLuJJ******************************
-b El nombre del depósito donde se cargará el objeto, como test12. -o La ruta del objeto que se cargará. Si lo carga directamente en el depósito, no es necesario escribir el parámetro -o. lo carga en una carpeta debajo del depósito, debe especificar -o como la ruta de la carpeta -f para cargar la ruta del archivo local del objeto, como /home/wuchen/wuchen/download/download-file.
(2) El parámetro opcional -t especifica el número de subprocesos. El valor predeterminado es 10 subprocesos. Se puede omitir. -c especifica el tamaño del fragmento en M. El valor predeterminado es 8M.
Utilice el script upload-folder.py para cargar de forma recursiva una carpeta con una ruta local especificada al depósito. Puede cargarla directamente al depósito o puede cargarla a un directorio debajo del depósito. El análisis de parámetros es el siguiente: -H Dirección de host Si escribe IP Si es así, no es necesario agregar http al frente, por ejemplo 172.21 -la clave de acceso de un usuario, por ejemplo YT*************** . **
-s clave_secreta del usuario como JlNVoLfLuJJ******************************
-b El nombre del depósito del directorio que se cargará
-l El directorio de carga se almacena en la ubicación de la ruta local. -d Carga recursivamente la carpeta con la ruta local especificada a la ubicación de la ruta debajo del depósito, si se carga directamente en el depósito, especifique -d root. a una ruta de directorio debajo del depósito, luego se proporciona la ruta completa. Por ejemplo, al cargar en el subdirectorio test2 en el directorio test1 debajo del depósito, especifique -d test1/test2.
Subir usando parámetros predeterminados
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
Utilice 15 subprocesos para descargar, fragmentar de forma predeterminada y cargar en el directorio test1 debajo del depósito
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
Utilice 20 subprocesos para cargar, cargar en fragmentos de 20 millones y cargar en el subdirectorio /test1/test2/test3 debajo del depósito.
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
Cargue el directorio local directamente al depósito 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
Cargue el directorio local en el directorio werfefdsa en el depósito 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 werfefdsa
Utilice el paquete jar java-upload-download.jar para cargar y descargar. Los parámetros de la línea de comando se especifican de la siguiente manera: (1) Cargar archivos o directorios java -jar iflytek_url_tesy-1.0.1.10023.jar Los siguientes parámetros son el nombre del depósito. + nombre del objeto (incluida la ruta del directorio cargada en el depósito) + número de subprocesos + tamaño del fragmento + archivo cargado o ruta del directorio + cadena de carga (para distinguir si se está cargando o descargando)
(2) Descargar archivos (el directorio de descarga aún es propenso a errores)
Los parámetros que siguen a java -jar s3-tool-java.jar son el nombre del depósito + el nombre del archivo que se descargará (incluida la ruta completa en el depósito) + la cantidad de subprocesos + el tamaño del fragmento + la ruta del archivo o directorio para descargar al local + cadena de descarga
Ejemplos de uso
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