Linux FTP远程备份shell脚本命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux FTP远程备份shell脚本命令相关的知识,希望对你有一定的参考价值。

定期备份各服务器的动摇资料,到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


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


本文出自 “土豆IT” 博客,请务必保留此出处http://malin314.blog.51cto.com/7206614/1865848

以上是关于Linux FTP远程备份shell脚本命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux下mysql定时自动备份并FTP到远程脚本

Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

shell脚本每天自动进行数据库备份与远程复制

网络设备自动备份shell脚本

Linux远程执行Shell命令或脚本

linux下shell脚本命令