Linux下Shell脚本实现FTP自动上传和下载文件-bin格式文件
概述
之前测试写的一个脚本,主要是为了实现FTP自动上传和下载文件。大家可以参考下:
基础环境配置
[root@pxzxdm01 ~]# useradd -d /home/ftp1 ftp1
[root@pxzxdm01 ~]# passwd ftp1 (密码123456)
[root@pxzxdm01 ~]# usermod -s /sbin/nologin ftp1 (限定用户ftp1只能ftp登陆)
登录FTP实现下载文件功能
FTP服务器:xx.xx.xx.A
FTP路径:/home/ftp1/down
本地路径(xx.xx.xx.B): /home/scripts/down
用户名密码:ftp1/123456
1、批量下载脚本
#从FTP上批量下载文件到本地
#!/bin/sh
ftp -v -n xx.xx.xx.A<<EOF
user ftp1 123456
binary
cd down
lcd /home/scripts/down
prompt
mget *
bye
EOF
echo "download from ftp successfully"
2、下载单个文件脚本
#从FTP上下载单文件到本地
#!/bin/sh
ftp -v -n xx.xx.xx.A<<EOF
user ftp1 123456
binary
cd down
lcd /home/scripts/down
prompt
#get down.txt,并改名成note.txt
get down.txt note.txt
bye
EOF
echo "download from ftp successfully"
登录FTP实现上传文件功能
FTP服务器:xx.xx.xx.A
FTP路径:/home/ftp1/up
本地路径: /home/scripts/up
将文件从本地传到FTP的脚本如下:
1、批量上传脚本代码
#从本地向FTP批量上传文档
#!/bin/sh
ftp -v -n xx.xx.xx.A<<EOF
user ftp1 123456
binary
hash
cd up
lcd /home/scripts/up
prompt
mput *
bye
#here document
EOF
echo "commit to ftp successfully"
2、上传单个文件脚本
#从本地向FTP上传单个文档
#!/bin/sh
PUTFILE=up.txt
ftp -v -n xx.xx.xx.A<<EOF
user ftp1 123456
binary
cd up
lcd /home/scripts/up
prompt
put $PUTFILE
bye
#here document
EOF
echo "commit to ftp successfully"
自动上传文件
1、十分钟内/home/scripts/up变动的文件内容统一上传/home/ftp1/up下脚本
#!/bin/sh
filename=`find /home/scripts/up -type f -mmin -10|awk -F '/' '{print $NF}'`
for i in $filename;
do
ftp -v -n xx.xx.xx.A<<-EOF
user ftp1 123456
binary
cd up
lcd /home/scripts/up
prompt
put $i
bye
EOF
echo "commit to ftp successfully"
done
2、二十分钟内/home/scripts/up下变动的文件上传/home/ftp1/up下对应的文件夹下脚本
路径:find /home/scripts/up -type f -mmin -120 -exec dirname {} \;
#!/bin/sh
#切换到上传根目录下
cd /home/scripts/up
file=`find ./ -type f -mmin -20`
for i in $file;
do
#获取文件名
filename=`find $i|awk -F '/' '{print $NF}'`
#获取路径名
dirname=`find $i -exec dirname {} \;`
ftp -v -n xx.xx.xx.A<<-EOF
user ftp1 123456
binary
cd up
cd $dirname
pwd
lcd $dirname
prompt
pwd
put $filename
bye
EOF
echo "commit to ftp successfully"
done
注意:sftp可以通过put -r 递归创建目录,ftp不行
上面是之前分开写的几个脚本,这个还是看需求吧,整体难度不大,大家可以自己测试下。后面会分享更多关于devops和DBA方面内容,感兴趣的朋友可以关注下!!
相关内容
在wps中粘贴保留原格式化|wps中复制文件保留原
在wps中粘贴保留原格式化|wps中复制文件保留原有格式,格式化,...
什么是boot.ini文件错误ini的非法解决方案
什么是boot.ini文件错误ini的非法解决方案,,千奇百怪的电脑问...
鼠标不能拖动文件了
鼠标不能拖动文件了,鼠标,拖动,本文目录鼠标不能拖动文件了电...
电脑系统城|电脑系统下载 win7
电脑系统城|电脑系统下载 win7,电脑系统城,不少朋友在使用电脑...
电脑报2014合订本光盘|电脑报2020年合订本pdf下
电脑报2014合订本光盘|电脑报2020年合订本pdf下载,,1. 电脑报2...
Outlook的PST文件损坏的修复方法
Outlook的PST文件损坏的修复方法,文件, ...
IE脚本错误如何做Web脚本错误解决技巧
IE脚本错误如何做Web脚本错误解决技巧,,这个问题是由于这样的...
2021电脑系统在哪下载|2021年电脑最新系统
2021电脑系统在哪下载|2021年电脑最新系统,,1. 2021年电脑最新...
电脑什么文件不能删除文件|电脑中哪些文件不能
电脑什么文件不能删除文件|电脑中哪些文件不能删除,,电脑中哪...
笔记本摄像头驱动在哪里下载 罗技摄像头驱动安
笔记本摄像头驱动在哪里下载 罗技摄像头驱动安装在电脑哪里,...
电脑上怎样打文件|电脑上怎样打文件符号
电脑上怎样打文件|电脑上怎样打文件符号,,电脑上怎样打文件符...
qq邮箱电脑版本下载|qq邮箱下载电脑版官方下载
qq邮箱电脑版本下载|qq邮箱下载电脑版官方下载,,qq邮箱下载电...
linux – 如何为Debian中的所有用户设置PATH?
linux – 如何为Debian中的所有用户设置PATH?,适用于,用户,我有...
将wps转为EX|把WPS文件转为excel表格
将wps转为EX|把WPS文件转为excel表格,转为,如何将,wps,1.怎么...
电脑字幕手机怎么载入|电脑字幕手机怎么载入文
电脑字幕手机怎么载入|电脑字幕手机怎么载入文件,,电脑字幕手...