最新公告
  • 欢迎您光临神琦资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 2020最新Linux下SSH用qshell命令上传文件到七牛云存储详解,使用Shell脚本实现数据的自动上传下载Bucket对象存储

    安装qshell

    yum -y install unzip wget
    wget http://devtools.qiniu.com/qshell-v2.2.0.zip
    unzip qshell-*.zip qshell-linux-x64
    mv qshell-linux-x64 /home
    cd /home
    chmod +x qshell-linux-x64
    mv qshell-linux-x64 qshell

    测试运行

    ./qshell -h

    个人中心找到AK和SK(AccessKey/SecretKey)
    https://portal.qiniu.com/user/key
    设置ak和sk信息

    ./qshell account ak sk

     

    测试是否成功

    ./qshell account

    输出:
    AccessKey: ELUs327kxVPJrGCXqWae9yioc0xYZyrIpbM6Wh6x
    SecretKey: LVzZY2SqOQ_I_kM1n00ygACVBArDvOWtiLkDtKiw
    到此安装完毕。
    七牛云存储免费提供1GB存储空间和10GB每日外网流量,实名后可以提升免费空间到10G。
    付费空间的话,10G=1元1个月,30G=3元一个月,华南地区打折会优惠点,30G=2.7元一个月。
    付费用户注册地址:https://portal.qiniu.com/signup?code=3lj7iypa0m9n6
    上传文件
    fput命令用来以multipart/form-data的表单方式上传一个文件。适合于中小型文件的上传,一般建议如果文件大小超过100MB的话,都使用分片上传。
    格式
    qshell fput <Bucket> <RemoteFile> <LocalFile> [Overwrite] [MimeType] [UpHost] [FileType]
    参数名称        描述                                                              可选参数
    Bucket        七牛空间名称,可以为公开空间或私有空间                  必选
    RemoteFile        文件保存在七牛空间的名称                                  必选
    LocalFile        本地文件的路径                                                      必选
    Overwrite        是否覆盖空间已有文件,默认为false                          Y
    MimeType        指定文件的MimeType                                               Y
    UpHost        上传入口地址,默认为空间所在机房的上传加速域名        Y
    FileType        文件存储类型,默认为0(标准存储) 1为低频存储          Y
    关于 UpHost ,这个是用来指定上传所使用的入口域名。在不指定的情况下,程序会自动根据空间来获取其所在的机房,并选择对应的上传加速域名作为上传域名。对于七牛的几大机房,默认的上传加速域名和其他源站域名分别如下表。
    机房        上传加速域名                           源站上传域名                     https上传加速域名                  https上传源站域名
    华东        http://upload.qiniu.com            http://up.qiniu.com             https://upload.qbox.me            https://up.qbox.me
    华北        http://upload-z1.qiniu.com        http://up-z1.qiniu.com        https://upload-z1.qbox.me        https://up-z1.qbox.me
    华南        http://upload-z2.qiniu.com        http://up-z2.qiniu.com        https://upload-z2.qbox.me        https://up-z2.qbox.me
    北美        http://upload-na0.qiniu.com      http://up-na0.qiniu.com      https://upload-na0.qbox.me      https://up-na0.qbox.me
    当自行指定上传UpHost的时候,请根据空间所在机房,从上面的表中选择正确的上传CDN加速入口域名。
    示例
    1.上传本地文件lxzPV.mp4到空间test里面。

    ./qshell fput test lxzPV.mp4 lxzPV.mp4

    输出:
    Uploading lxzPV.mp4 => test : lxzPV.mp4 …
    Progress: 100%
    Put file lxzPV.mp4 => test : lxzPV.mp4 success!
    Hash: lvdkf6WttSbD00impJTDmWhawUYV
    Fsize: 36622683 ( 34.93 MB )
    MimeType: video/mp4
    Last time: 15.62 s, Average Speed: 2345.1 KB/s
    2.上传本地文件lxzPV.mp4到空间test里面,带前缀video/,并且指定MimeType参数为video/x-flv,并且指定上传域名华东源站上传不使用CDN,覆盖源文件并且使用低频存储。

    ./qshell fput test video/lxzPV.mp4 lxzPV.mp4 video/x-flv true 1 https://up.qiniu.com/

    rput命令使用七牛支持的分片上传的方式来上传一个文件,一般文件大小较大的情况下,可以使用分片上传来有效地保证文件上传的成功。
    格式
    qshell rput <Bucket> <RemoteFile> <LocalFile> [Overwrite] [MimeType] [UpHost] [FileType]
    示例
    1.上传本地文件/Users/jemy/Documents/qiniu.mp4到空间if-pbl里面。

    ./qshell rput test lxzPV.mp4 lxzPV.mp4

    输出:
    Uploading lxzPV.mp4 => test : lxzPV.mp4 …
    Progress: 100.00%
    Put file lxzPV.mp4 => test : lxzPV.mp4 success!
    Hash: lvdkf6WttSbD00impJTDmWhawUYV
    Fsize: 36622683 ( 34.93 MB )
    MimeType: video/mp4
    Last time: 10.75 s, Average Speed: 3407.9 KB/s
    注:rput的其他使用方法和fput一致,一般用于大文件的上传。
    列举七牛空间里面的所有文件
    格式
    qshell listbucket [-marker <Marker>] <Bucket> [<Prefix>] <ListBucketResultFile>
    上面的命令中,可选的场景有三种:
    (1)获取空间中所有的文件列表,这种情况下,可以直接指定 Bucket 参数和结果保存文件参数 ListBucketResultFile 即可。
    qshell listbucket <Bucket> <ListBucketResultFile>
    (2)获取空间中指定前缀的文件列表,这种情况下,除了指定(1)中的参数外,还需要指定 Prefix 参数。
    qshell listbucket <Bucket> <Prefix> <ListBucketResultFile>
    (3)该场景主要用在空间中文件列表较多导致大量列举操作超时或者是列举过程中网络异常导致列举操作失败的时候,这个时候列举失败的时候,程序会输出当时失败的marker,如果我们希望接着上一次的列举进度继续列举,那么可以在运行命令的时候,额外指定选项marker。
    qshell listbucket -marker <Marker> <Bucket> <ListBucketResultFile>
    参数
    参数名        描述                                                                                                                                                                                                            可选参数
    Bucket        空间名称,可以为私有空间或者公开空间名称                                                                                                                                                      必选
    Prefix        七牛空间中文件名的前缀,该参数为可选参数,如果不指定则获取空间中所有的文件列表                                                                                              Y
    ListBucketResultFile        获取的文件列表保存在本地的文件名,如果该参数指定为stdout,则会把结果输出到终端,一般可用于获取小规模文件列表测试使用           必选
    示例
    1.获取空间test里面的所有文件列表:

    1. ./qshell listbucket test test.list.txt

    结果
    41982247_01.jpg        948234        FokUV4denUM3KR229Jy1iKOAlzS6        15352271837040356        image/jpeg        0        0
    upload_info.txt        2164525        FsuA_WZFl1THsJuEkfvAHFXtCAOu        15352271899333150        text/plain        0        0
    video/lxzPV.mp4        36622683        lvdkf6WttSbD00impJTDmWhawUYV        15352271750775303        video/mp4        0        0
    2.获取空间test里面的以video/为前缀的文件列表:

    ./qshell listbucket test ‘video/’ test.prefix.list.txt

    删除文件
    delete 命令用来从七牛的空间里面删除一个文件。
    格式
    qshell delete <Bucket> <RemoteFile>
    参数
    参数名        描述
    Bucket        空间名称,可以为公开空间或者私有空间
    RemoteFile    空间中的文件名
    示例
    删除空间test里面的视频qiniu.mp4

    1. ./qshell delete test qiniu.mp4

    batchdelete命令用来根据一个七牛空间中的文件名列表来批量删除空间中的这些文件。
    格式
    qshell batchdelete [-force] <Bucket> <KeyListFile>
    参数
    参数名        描述
    Bucket        空间名,可以为公开空间或私有空间
    KeyListFile        文件列表文件,该列表文件只要保证第一列是文件名即可,每个列用\t分隔,可以直接使用listbucket的结果。
    force选项
    该选项控制工具的默认行为。默认情况下,对于批量操作,工具会要求使用者输入一个验证码,确认下要进行批量文件操作了,避免操作失误的发生。如果不需要这个验证码的提示过程,可以使用-force选项。
    示例
    1.在test空间中指定要的删除的文件列表test.prefix.list.txt进行删除:
    video/lxzPV.mp4
    video/AYjmD.mp4
    video/MN14w.mp4

    1. ./qshell batchdelete test test.prefix.list.txt

     

    2.删除空间test中的所有文件:

    1. ./qshell listbucket test test.list.txt
    2. ./qshell batchdelete -force test test.list.txt

     


    神琦资源网 » 2020最新Linux下SSH用qshell命令上传文件到七牛云存储详解,使用Shell脚本实现数据的自动上传下载Bucket对象存储

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    站壳网
    一个高级程序员模板开发平台
    • 181会员总数(位)
    • 416资源总数(个)
    • 14本周发布(个)
    • 3 今日发布(个)
    • 212稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    升级SVIP尊享更多特权立即升级