使用shell脚本上传日志文件到vsftp服务案例

#!/bin/bash 
#本地日志目录
updir=/data/product/443/logs
#vsftpd服务端存放文件目录位置
todir=/datalogs/es
todockerdir=/datalogs/docker
#docker启动模块日志目录
docker_logdir=/opt/product/logs
#对client端的文件进行压缩并删除定义日期前的文件,可以根基实际情况不用配置这几条配置项
find $updir -mtime +360 -name "*.gz*" -exec   rm -f {} \;          #查看本地日志文件并删除一年前的压缩文件
find $updir -mtime +5 -name "*.log" -exec gzip {} \;               #对五天天前的日志文件进行压缩
find $docker_logdir -mtime +360 -name "*.gz*" -exec   rm -f {} \;  
find $docker_logdir -mtime +7 -name "*.stderrout.log" -exec gzip {} \;
find $docker_logdir -mtime +7 -name "*debug*.log" -exec gzip {} \;

sss=`find $updir -type d -printf $todir/'%P\n'| awk '{if ($0 == "")next;print "mkdir " $0}'`  #定义登录vsftp服务器后查找目录是否存在不存在就创建目录
aaa=`find $updir -mtime -7 -name "*.gz" -printf 'put %p %P \n'`                               #查看现在到七天前的日志文件并上传到ftp指定目录下面
bbb=`find $docker_logdir -type d -printf $todockerdir/'%P\n'| awk '{if ($0 == "")next;print "mkdir " $0}'`
ccc=`find $docker_logdir -mtime -7 -name "*.gz" -printf 'put %p %P \n'`

#aaa=`find $updir -mtime +1 -name "*.gz" -printf 'put %p %P \n'`
#登陆vsfpd服务端创建目录并上传日志文件
ftp -nv 192.168.113.130 <<EOF 
user user dasdad
type binary 
prompt 
$sss 
$bbb
cd $todir 
$aaa
cd $todockerdir
$ccc 
close
bye
! 
EOF
posted @ 2021-10-18 09:56  智杰  阅读(180)  评论(0编辑  收藏  举报
marquee
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生