需求
需求:本地每日日期文件夹下的后缀名为.ok文件推送到ftp服务器,在ftp上创建每日文件夹,并把当日ok文件推送到创建的文件夹下
ftp方式
#!/bin/sh
v_date=$1
echo $v_date
#如果传入时间则时间是传入时间,如果没有传入时间参数 默认是昨天
if [ -z "$v_date" ]; then
v_date=`date -d yesterday +'%Y%m%d'`
echo "时间参数为空"
echo $v_date
else
echo "已经手动传入时间参数"
v_date=$v_date
fi
echo $v_date
funcPutFile(){
mkdirdate=$1
echo $mkdirdate
# 需要连接主机的ip:用户名:密码
IP=xxx.xxx.xxx.xxx
PORT=21
USER=ftp
PASSWD=ftp
LOCAL_PATH=/opt/test/
REMOTE_PATH=/var/ftp/test/
lock_file_name=${mkdirdate}
echo ${lock_file_name}
ftp -ivn <<EOF
open $IP $PORT
user $USER $PASSWD
cd ${REMOTE_PATH}
lcd ${LOCAL_PATH}
mkdir ${lock_file_name}
quit
EOF
}
funcPutOK(){
mkdirdate=$1
echo $mkdirdate
# 需要连接主机的ip:用户名:密码
IP=xxx.xxx.xxx.xxx
PORT=21
USER=ftp
PASSWD=ftp
LOCAL_PATH=/opt/test/${v_date}/date/
REMOTE_PATH=/var/ftp/test/${v_date}/
cd ${LOCAL_PATH};
FILES=`find -name 'dir.*' -o -name '*.ok'`
for FILE in ${FILES}
do
echo ${FILE}
ftp -ivn <<EOF
open $IP $PORT
user $USER $PASSWD
cd ${REMOTE_PATH}
lcd ${LOCAL_PATH}
put ${FILE}
quit
EOF
done
}
#创建当前文件夹
funcPutFile $v_date
#拷贝ok文件
funcPutOK $v_date
// 如果没有安装ftp需要安装ftp
yum -y install ftp
lftp方式
// An highlighted block
#!/bin/sh
v_date=$1
echo $v_date
#如果传入时间则时间是传入时间,如果没有传入时间参数 默认是昨天
if [ -z "$v_date" ]; then
v_date=`date -d yesterday +'%Y%m%d'`
echo "时间参数为空"
echo $v_date
else
echo "已经手动传入时间参数"
v_date=$v_date
fi
echo $v_date
funcPutFile(){
mkdirdate=$1
echo $mkdirdate
# 需要连接主机的ip:用户名:密码
IP=192.168.181.100
PORT=22
USER=root
PASSWD=123456
LOCAL_PATH=/opt/test/
REMOTE_PATH=/opt/test/
lock_file_name=${mkdirdate}
echo ${lock_file_name}
lftp -u ${USER},${PASSWD} sftp://${IP}:${PORT} <<EOF
cd ${REMOTE_PATH}
lcd ${LOCAL_PATH}
mkdir ${lock_file_name}
by
EOF
}
funcPutOK(){
mkdirdate=$1
echo $mkdirdate
# 需要连接主机的ip:用户名:密码
IP=192.168.181.100
PORT=22
USER=root
PASSWD=123456
LOCAL_PATH=/opt/test/${v_date}/date/
REMOTE_PATH=/opt/test/${v_date}/
cd ${LOCAL_PATH};
FILES=`find ${LOCAL_PATH} -name 'dir.*' -o -name '*.ok'`
for FILE in ${FILES}
do
echo ${FILE}
lftp -u ${USER},${PASSWD} sftp://${IP}:${PORT} <<EOF
cd ${REMOTE_PATH}
lcd ${LOCAL_PATH}
put ${FILE}
by
EOF
done
}
#创建当前文件夹
funcPutFile $v_date
#拷贝ok文件
funcPutOK $v_date