下载OSSUtil工具
OSSUTIL官方下载
根据操作系统选择相应的binary或者压缩包下载后,运行相应的binary(如果binary为不可执行文件,请给binary增加可执行权限:chmod 755 ossutil),即:
linux系统下:
./ossutil
配置ossutil
这里使用交互式配置ossutil
$./ossutil config -L ch 该命令创建将一个配置文件,在其中存储配置信息。
请输入配置文件路径(默认为:/home/admin/.ossutilconfig,回车将使用默认路径。如果用户设置为其它路径,在使用命令时需要将--config-file选项设置为该路径):
输入EndPoint、AK、SK等信息后完成配置。
测试简单的上传功能
假设需要将 /home/ubuntu/testfile.dat 上传到OSS的 test BUCKET的 /test/testfile.dat,那么对应的上传命令为:
./ossutil cp /home/ubuntu/testfile.dat oss://test/log/test/testfile.dat
假如配置文件不在默认路径下,需要添加配置文件的参数,假设配置文件位于:/home/ubuntu/ossutil/ossconfig.dat
./ossutil cp /home/ubuntu/testfile.dat oss://test/log/test/testfile.dat --config-file /home/ubuntu/ossutil/ossconfig.dat
编写上传脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| #!/bin/bash DATESTR=`date +%Y-%m-%d --date="-1 day"` MONTHSTR=`date +%Y%m --date="-1 day"` OSSUTILPATH=/home/ubuntu/ossutil/ossutil OSSCONFIGPATH=/home/ubuntu/ossutil/.ossutilconfig DELETEFILE=true OSSPATH=oss://acclog/gateway/app1/${MONTHSTR}/ FILEPATH=/home/ubuntu/apps/apache-tomcat-7.0.76/logs/localhost_access_log.${DATESTR}.txt UPLOADCMD=${OSSUTILPATH}' cp '${FILEPATH}' '${OSSPATH}' --config-file '$OSSCONFIGPATH if [[ ! -f "$FILEPATH" ]]; then echo "文件不存在,任务结束"$FILEPATH else echo '文件存在,开始执行文件上传任务' echo '执行命令 '$UPLOADCMD $UPLOADCMD echo '文件上传完成' if [[ $DELETEFILE ]];then echo '删除文件'$FILEPATH rm $FILEPATH else echo '不需要删除原始文件' fi fi function deletefile(){ DELETEFILE=$1 if [[ -f "$DELETEFILE" ]]; then echo '删除文件'$DELETEFILE rm $DELETEFILE fi } deletefile /home/ubuntu/apps/apache-tomcat-7.0.76/logs/localhost.${DATESTR}.log deletefile /home/ubuntu/apps/apache-tomcat-7.0.76/logs/host-manager.${DATESTR}.log deletefile /home/ubuntu/apps/apache-tomcat-7.0.76/logs/catalina.${DATESTR}.log exit
|
设置crontab
crontab -e
0 8 * * * bash /home/ubuntu/ossutil/uploadoss.bash >> /home/ubuntu/ossutil/upload.log