以下脚本需要注意的是,如果路径是以当天时间命名的,客户端必须先手动mkdir创建该目录。
脚本完成以后 在服务端添加定时任务,即可完成自动拷贝了。
#!/bin/bash
#sftp USER(服务端用户名)
USER=
#SFTP PASSWORD(服务端密码)
PASSWORD=
#服务端 DIR
SRCDIR=/ccx/gsm/
#linux dir
#注意 `date +%Y%m%d` 该目录必须存在,入不存在需先手动mkdir创建,否则运行失败
DESDIR=/home/ccx/gsm/`date +%Y%m%d`
#客户端ip
IP=0.0.0.0
#PORT
PORT=22
#查找服务端5分钟以内的所有txt文件(可以自定义,直接*是所有类型文件)
FILES=`find ${SRCDIR} -mmin -5 -name '*.TXT'`
for FILE in ${FILES}
do
echo ${FILE}
lftp -u ${USER},${PASSWORD} sftp://${IP}:${PORT} <<EOF
# 切换服务端路径
cd ${DESDIR}
#切换客户端路径
lcd ${SRCDIR}
# 上传文件
put ${FILE}
by
EOF
done