利用ftp定时上传log到其他服务器的方法

时间:2021-07-13 20:21:50

利用ftp定时上传log到其他服务器

#!/bin/bash

#时间的生成

Y=` date --date="-1 hour" +%Y`

m=` date --date="-1 hour" +%m`

d=`date --date="-1 hour" +%d`

H=`date --date="-1 hour" +%H`

#ip地址的获取

IP="`/sbin/ifconfig |grep 'Bcast'|awk -F '[ :]' '{print $13}'`"

#log名字的生成(随时间和ip不同而不同)

LOG_NAME="access-$H-$IP.log"

#FTP服务器地址

HOST="10.10.10.170"

#FTP服务器用户名

USER="user"

#FTP服务器密码

PASS="passwd"

#循环上传不同项目的日志文件

for ROUTE_NAME in "www_log" "h_log" "lpt_log" "c_log" ;do

LCD="/usr/local/nginx/logs/$ROUTE_NAME/$Y/$m/$d"

RCD="/$ROUTE_NAME/$Y/$m/$d"

if [ -f $LCD/$LOG_NAME ] ;then

lftp << EOF

open ftp://$USER:$PASS@$HOST

lcd $LCD

mkdir -p $RCD

cd $RCD

put -c $LOG_NAME

bye

EOF

else

echo "log文件不存在!"

fi

done;

~