shell脚本实现ftp自动备份

ftp命令把远程计算机上的文件传输到本地计算机时,需要和用户交互。怎样使交互过程自动化呢?

利用here文档

#!/bin/sh
ftp -ivn  210.29.28.124 <<EOF
user yun yun2011
lcd /home/veyun
cd /home/veyun/yhb
get  v
bye
EOF


解释:

 -i :关闭多文件传输过程中的交互提示,所以不会再有让用户输入用户名和密码的提示

-n:阻止了初始连接时的自动登录

-v:将ftp命令设置为verbose模式,从而可以在会话时看到其中的命令

在本例中使用用户名yun和密码yun2011登录。


下面是自己写的一个简单的shell脚本。

实现目的:从remotedir下载文件到localdir目录中,并把remotedir所有文件名列出到dirlist文件中,

                    最后把下载的文件打包,最后删除刚下载的文件(根据dirlist中的文件名)。




脚本解释:

2-8:定义变量

9-16:ftp下载

18-20:打包

22:取得dirlist文件中的文件名

23-26:逐一取得文件名,并删除相应文件。


ftp注解:

主动ftp:客户端主动连接服务器的21端口,经过认证,服务器端用20端口连接客户端传输数据

所以主动ftp防火墙配置:

iptables -t filter -A FORWARD --dport 21 -j ACCEPT

iptables -t filter -A FORWARD --sport 21 -j ACCEPT

iptables -t tilter -A FORWARD --sport 20 -j ACCEPT


被动ftp:客户端先连接服务器端的21端口,经过认证后,客户端再连接服务器端的20端口传输数据

所以被动ftp防火墙配置:

iptables -t filter -A FORWARD --dport 21 -j ACCEPT

iptables -t filter -A FORWARD --dport  20 -j ACCEPT

iptables -t filter -A FORWARD --sport 21 -j ACCEPT

iptables -t filter -A FORWARD --sport 20 -j ACCEPT






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值