使用ftp自动备份文件

安装配置ftp

1、安装

yum install -y vsftp

2、配置

打开防火墙

vi /etc/firewalld/zone/zones/public.xml
添加或追加<service name="ftp">
firewall-cmd --reload

修改vsftpd配置文件

vi /etc/vsftpd/vsftpd.conf

修改如下:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO

添加ftp用户

adduser backup
passwd backup

vi /etc/vsftpd/user_list
添加backup

新建ftp目录

mkdir -p /home/backup/ftp/upload
chmod 550 /home/backup/ftp
chmod 750 /home/backup/ftp/upload
chown -R backup: /home/backup/ftp

启动服务

systemctl start vsftpd
systemctl enable vsftpd

如果启用了selinux,需要允许

setsebool -P allow_ftpd_full_access 1

备份脚本

我的备份文件是按照日期打包的,类似2020.06.15.tar.gz

备份脚本如下

#!/bin/bash
HOST=172.16**
USER=backup
PASSWORD=backup

ftp -inv $HOST <<EOF
user $USER $PASSWORD
cd ftp/upload
mput $(date +"%Y.%m.%d*")
bye
EOF

配置crontab定时

0 0 * * * sh /path/to/ftp.sh >> /path/to/ftp.log