ceacer 2 已发布 1月28号 分享 已发布 1月28号 Table of Contents 概述 之前测试写的一个脚本,主要是为了实现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< 2、下载单个文件脚本 #从FTP上下载单文件到本地 #!/bin/sh ftp -v -n xx.xx.xx.A< 登录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< 2、上传单个文件脚本 #从本地向FTP上传单个文档 #!/bin/sh PUTFILE=up.txt ftp -v -n xx.xx.xx.A< 自动上传文件 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方面内容,感兴趣的朋友可以关注下!! 评论链接 在其他网站上分享 更多分享选项...
推荐帖
创建账户或登录以发表评论
您需要成为会员才能发表评论
创建一个帐户
在我们的社区注册一个新账户。很简单!
注册新账户登入
已有账户?在此登录
立即登录