利用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;
~