shell脚本推送每日文件到ftp服务器日期目录下

需求

需求:本地每日日期文件夹下的后缀名为.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
其他ftp操作命令

ftp常用操作命令

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值