date: 2020-11-24title: sftp/ftp数据上传下载相关脚本 #标题
tags: sftp #标签
categories: shell # 分类
记录下sftp/ftp数据上传下载相关脚本。
下载sftp上某个目录前一天的数据
>>> cat /data/jiyun/download_sftp.sh
#!/usr/bin/env bash
# Author : Lv Jian Zhao
# Date : 2020-10-29
# describe: Download yesterday's file from SFTP
yesterday_date=$(date +%Y%m%d -d '-1 days')
sftp_user=sftp
sftp_passwd=$(echo 'OVVUzAabzwo=' | base64 -d)
cd ${cur_dir}
lftp -u ${sftp_user},${sftp_passwd} -p 32222 sftp://1.1.1.1 <<EOF
cd upload/activity/
mirror ${yesterday_date} /data/jiyun/
by
EOF
从ftp服务器下载数据
>>> cat download_ftp.sh
#!/usr/bin/env bash
# Author : Lv Jian Zhao
# Date : 2020-11-10
# describe: download ftp data from ftp.i139.cn
set -e
ftp_user=sjbss
ftp_passwd=$(echo 'Zsdbngfda21yCg==' | base64 -d)
USAGE(){
echo -e "\033[33m
$0 Script usage:
-f: Specifies the path of the file on the FTP server.
-l: Specify local path ( default local path: /tmp/lvjianzhao/ ).
-h: Output help information
\033[0m"
}
if [[ $1 == '--help' || $1 == '-h' ]]
then
USAGE
exit 0
fi
while getopts ":f:l:" optname;do
case "$optname" in
"f")
ftp_file=$OPTARG
;;
"l")
local_path=$OPTARG
;;
":")
echo "This option has no value!"
;;
"*")
echo "error message"
;;
"?")
echo "Not sure about this option..."
;;
esac
done
${local_path:=/tmp/lvjianzhao/} &> /dev/null || true
filename=$(basename ${ftp_file})
find ${local_path} -name "${filename}" -delete
cd ${local_path}
lftp -u ${ftp_user},${ftp_passwd} ftp.lkjg.cn <<EOF
mget -c ${ftp_file}
by
EOF
上传数据到ftp服务器
>>> cat upload_ftp.sh
#!/usr/bin/env bash
# Author : Lv Jian Zhao
# Date : 2020-11-11
# Email : lvjianzhao@aspirecn.com
# describe: Upload data to ftp server ftp.123.cn
set -e
ftp_user=sjbss
ftp_passwd=$(echo 'Zk1G321564yCg==' | base64 -d)
USAGE(){
echo -e "\033[33m
$0 Script usage:
-f: Specifies the path of the file on the FTP server (default ftp path /lvjianzhao/).
-l: Specify local file absolute path.
-h: Output help information
\033[0m"
}
if [[ $1 == '--help' || $1 == '-h' ]]
then
USAGE
exit 0
fi
while getopts ":f:l:" optname;do
case "$optname" in
"f")
ftp_path=$OPTARG
;;
"l")
local_file=$OPTARG
;;
":")
echo "This option has no value!"
;;
"*")
echo "error message"
;;
"?")
echo "Not sure about this option..."
;;
esac
done
${ftp_path:=/lvjianzhao/} &> /dev/null || true
lftp -u ${ftp_user},${ftp_passwd} ftp.123.cn <<EOF
cd ${ftp_path}
mput -c ${local_file}
by
EOF