#!/bin/bash
#需求:将A机器中以tmp后缀结尾的文件移动到B机器
#A机器平台的接入相关信息
FTP_HOST=192.168.2.231
FTP_PORT=21
FTP_USER=bobo
FTP_UPWD=123
#A机器文件存放目录
LOCAL_DIR=/home/epayftp/channel
#A机器日志目录
LOG_HOME=/home/epayftp/channel
#B机器临时文件存放目录
REMOTE_DIR_TEMP=/home/bobo/channel/tmp
#B机器正式文件存放目录
REMOTE_DIR=/home/bobo/channel
cd ${LOCAL_DIR}
#将后缀为*tmp的文件的文件名记录到localfile.txt文件中
ls -l ZD*.*tmp | awk '{print $9}' > ${LOG_HOME}/localfile.txt
#遍历新增加的文件
for file_name in `cat ${LOG_HOME}/localzfwgfile.txt`
do
if [[ ${file_name:${#file_name}-3:3} = "tmp" ]]; then
files_count=`expr $files_count + 1`
remote_file_name=${file_name##*/}
ftp -in ${FTP_HOST} ${FTP_PORT} <<EOF
user ${FTP_USER} ${FTP_UPWD}
binary
lcd ${LOCAL_DIR}/
cd ${REMOTE_DIR_TEMP}/
put ${file_name##*/} ${remote_file_name}
rename ${REMOTE_DIR_TEMP}/${remote_file_name} ${REMOTE_DIR}/${remote_file_name%tmp*}
close
quit
EOF
#回到接口机本地目录
cd ${LOCAL_DIR}
#将每移动文件的文件名追加到接口机日志文件中
echo ${file_name} >>${LOG_HOME}/log.txt
#删除已上传的文件
rm -f ${file_name}
fi;
done
将一台机器上的文件移动到另一台ftp服务器
最新推荐文章于 2021-11-18 22:41:55 发布