ftp安装包可用于对文件的上传或下载到服务器,方便开发的文件传输。ftp软件以汉化版和破解版的居多。但是破解版的一般都比较危险,不建议你们使用。


IIS7服务器管理工具可以批量管理、定时上传下载、同步操作、数据备份、到期提醒、自动更新。IIS7服务器管理工具适用于Windows操作系统和liunx操作系统;支持Ftp客户端批量操作。

下载地址:[IIS7服务器管理工具]
ftplj.png


实现: 定时增量同步ftp服务器上的文件夹

1.UBUNTU上模拟搭建一个FTP服务器

2.shell脚本实现ftp增量同步到目标服务器

3.定时触发

 

1.UBUNTU上模拟搭建一个FTP服务器

<1>检查是否安装了vsftpd
vsftpd -version
如果未安装使用如下命令安装
sudo apt-get install vsftpd
安装完成后,再次输入vsftpd -version命令查看是否安装成功

<2>新建一个文件夹用于FTP的工作目录
mkdir -p /data/ftp
<3>新建ftpname用户并设置密码以及工作目录 
sudo useradd -d /data/ftp/ -s /bin/bash ftpname
为新建的用户设置密码
passwd ftpname
<4>修改vsftpd配置文件 
vim /etc/vsftpd.conf
设置属性值 
anonymous_enable=NO #禁止匿名访问 
local_enable=YES 
write_enable =YES 
保存返回


<5>启动vsftpd服务
 service vsftpd start
<6>在任意浏览器里面输入ftp://ip地址
输入账号,密码登录即可



<7>浏览远程ftp服务器内容也可以选择windows工具filezilla



 

2.shell脚本实现ftp增量同步到目标服务器

<1>目标服务器安装lftp:
sudo apt-get install lftp
<2>shell脚本

--delete: 如果远程目录下已经没有某个文件,而目标服务器有,则删除这个文件。

--only-newer: 只下载新的文件。

如下:mirror --delete --only-newer --verbose /data/ftp /data/buildfarm,表示自动备份远处ftp服务器的 /data/ftp文件夹,到目标服务器目录的/data/buildfarm文件夹下,并且删除已经不存在的文件,并且只下载最新的文件,再给出详细的输出。

vim /data/ftp_download.sh
#!/bin/bash

 

lftp -u ftpname,ftpwd 172.28.21.246 << EOF

 

mirror --delete --only-newer --verbose /data/ftp /data/buildfarm

bye

EOF

 

3.定时触发

可选两种方式。

1、使用crontab

<1>安装crontab
安装:apt-get install cron

启动:service cron start

重启:service cron restart

停止:service cron stop

检查状态:service cron status

查询cron可用的命令:service cron
<2>vim /etc/crontab

新增一行 00 7 * * 1-6 root /data/ftp_download.sh 。表示周一到周六每天早上7点执行一次ftp_download.sh同步脚本。

root@ubuntu:/data/bakdata/jira_bak# vim /etc/crontab

 

# /etc/crontab: system-wide crontab

# Unlike any other crontab you don't have to run the `crontab'

# command to install the new version when you edit this file

# and files in /etc/cron.d. These files also have username fields,

# that none of the other crontabs do.

 

SHELL=/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

 

# m h dom mon dow user  command

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )

52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

00 7 * * 1-6 root /data/ftp_download.sh
<3> service crond start  //重启服务

2.选择jenkins定时触发

  方便查看日志