定期备份各服务器的动摇资料,到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
还可以开启使用匿名登录上传文件