侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

AWS s3cmd 的基本操作

2023-12-15 星期五 / 0 评论 / 0 点赞 / 117 阅读 / 4013 字

过滤一下今天的流程 确定了去把另外一台服务器上的日志加到当前的服务器,当时想的是那货直接把服务器的账号和密码直接给个我,我来搞定,结果发现还是我太单纯了。。。 1、人家直接给我一个公钥,经过查找资料得

过滤一下今天的流程

确定了去把另外一台服务器上的日志加到当前的服务器,当时想的是那货直接把服务器的账号和密码直接给个我,我来搞定,结果发现还是我太单纯了。。。

1、人家直接给我一个公钥,经过查找资料得出的结论有以下的几种
    a、直接在本机生成公钥和私钥,然后把自己客户端的公钥传到服务器上的id_rsa.pub中,这里需要注意的是一个服务器可能运行多个主机来无密码登陆,所以注意不要把服务器上的那个文件直接给替换了,看下里面有内容的话最好是直接添加到后面即可;

    b、直接给了个私钥。。。不知道怎么处理,经过询问,据说使用一下的方式直接可以生成pub文件,然后根据这两个文件登陆就行:
    如果给过来的是一个.pem文件,利用私钥直接生成一个公钥:
        key.pem
        ssh-keygen -e -f key.pem >> key.pem.pub

    c、直接给个私钥过来,今天最终的处理方式就是给了私钥,然后根据私钥的登陆公式直接的登陆,偶尔能成功,但是没有搞清楚登陆不成功的原因,登陆成功的公式如下:
       ssh -i /Users/project/LoginKey/xyl_wuyabin/key_22.22.222.122_22.pem [email protected]

临时性的处理了服务器登陆的问题,接下来就是要把当前服务器上的日志对应的扔到S3上去,在当前的服务上需要装上s3工具,然后写个脚本,定时的复制到s3服务器即可:

1、在当前的服务器直接的安装s3cmd, 最想见的就是wget直接下载到本地,然后根据绝对地址的方式使用命令,常用到的命令就是查看、上传和下载
    s3cmd ls -l /  #注意这里有坑  有的版本不支持这种的写法
    s3cmd put a.avi  s3://xxx/xxx/xxx/a.avi  #注意这里,有文件直接上传,之前想先创建一个桶然后扔进去,结果失败了,最终的处理方式是不用建立桶,直接扔的时候回自己建桶
    s3cmd get s3://xxx/xxx/xxx/a.avi 直接get到本地

2、开始写脚本了,mac上的脚本和Linux上的部分不一样,这里是个坑,知道就行,测试的时候最好是用vagant上的linux服务器去测是,不然会累死的,参考写的基本如下:
#!/bin/sh
####################
#put log to s3
#Author Lcm
#date 2016-10-27
###################
dateYMD=`date  -d   yesterday   +%Y-%m-%d`
dateYM=`date   -d   yesterday   +%Y-%m`
dateMD=`date   -d   yesterday   +%m-%d`

OLD_LOG_PATH='/home/centos/tools/apache-tomcat-8080/igp_logs/reg1/'$dateYM'/reg1-'$dateMD'*.log'
NEW_LOG_PATH='/home/centos/tools/s3/s3cmd/s3cmddata/reglog'$dateMD'.log'
TAR_LOG_PATH='/home/centos/tools/s3/s3cmd/s3cmddata/reglog'$dateMD'.gz'
cat $OLD_LOG_PATH > $NEW_LOG_PATH
if [ -f "$NEW_LOG_PATH" ];then
    gzip -c $NEW_LOG_PATH >$TAR_LOG_PATH
    /home/centos/tools/s3/s3cmd/s3cmd put $TAR_LOG_PATH 's3://ngemobi/logs/igp_logs/reg/dt='$dateYMD'/reglog'$dateMD'.gz'
    rm $NEW_LOG_PATH
    rm $TAR_LOG_PATH
fi

这种脚本基本是流水账形式的写法,思路清晰的话直接安装流水账的流程写就行了

3、使用Crontab -e 的形式添加自动执行的脚本
      2 10 12 * * * /bin/sh /Users/project/play/test.sh

结束

 

 

 

广告 广告

评论区