定期备份各服务器的动摇资料,到ftp服务器,注意主动模式和被动模式区别

#!/bin/bash
#主动FTP对服务端有利,客户端iptables关闭,客户端需要执行passsiveh后上传数据
#被动FTP对客户端有利,服务端iptables关闭,Linux客户端ftp登陆后不需要执行passive命令,可上传
#
#vim /etc/sysconfig/iptables
#开放防火墙端口主动模式下,客户端防火墙需要关闭
#-A INPUT -p tcp --dport 20 -j ACCEPT
#-A INPUT -p tcp --dport 21 -j ACCEPT
yum install vsftpd
vsftprun(){chkconfig vsftpd on
service vsftpd start
chkconfig iptables off
}
vsftprun
vim /etc/vsftpd/vsftpd.conf
#添加匿名用户上传权限
#anonymous_enable=YES
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
#anon_root=/var/ftproot
#anon_umask=022
#anon_other_write_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
mkdir -p /var/ftproot/{upload,download}
chmod 777 /var/ftproot/upload
vsftprun
#客户端配置
yum install -y ftp
#FTP远程备份文件
#!/bin/bash
host="172.16.16.23"
id="zhang"
pw="password"
basedir="/etc"
ip_addr=`ifconfig | grep  'inet addr:' | grep -v '127.0.0.1' | cut -d: -f 2 | awk '{print $1}'`
current_date=`date +%Y-%m-%d`
remotedir="/var/ftproot/upload"
backupfile="`date +%Y-%m-%d`.etc.tar.gz"
cd /tmp
tar -zcvf "$ip_addr"-"$backupfile" $basedir
if [ $? -eq 0 ]; then
ftp -n "$host" >/tmp/$ip_addr-etc-$current_date.log 2>&1 <<EOF
user zhang password
binary
cd "$remotedir"
put "$ip_addr"-"$backupfile"
put "$ip_addr"-etc-"$current_date".log
bye
EOF
else
        echo "tar false"
fi


还可以开启使用匿名登录上传文件