一、准备工作:安装并配置CentOS FTP Server
在使用CentOS FTP Server进行远程备份前,需先确保FTP服务已正确安装、配置并运行。以下是基础步骤:
- 安装vsftpd:使用yum包管理器安装vsftpd(CentOS默认FTP服务器)。
sudo yum update -y && sudo yum install vsftpd -y - 配置vsftpd:编辑配置文件
/etc/vsftpd/vsftpd.conf,按需修改以下关键参数:anonymous_enable=NO:禁止匿名登录;local_enable=YES:允许本地用户登录;write_enable=YES:允许用户上传文件;chroot_local_user=YES:将用户限制在其主目录(提升安全性);allow_writeable_chroot=YES:允许chroot目录可写(若用户需上传文件)。
- 创建FTP用户:为备份创建专用用户(如
backupuser),并设置密码。sudo adduser backupuser sudo passwd backupuser - 配置防火墙:允许FTP流量通过防火墙(默认端口21)。
sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload - 启动FTP服务:启动vsftpd并设置开机自启。
sudo systemctl start vsftpd sudo systemctl enable vsftpd
完成上述步骤后,FTP服务器已就绪,可通过客户端(如FileZilla)连接测试。
二、远程备份方法
1. 手动备份(单次执行)
(1)使用FTP命令行工具
通过系统自带的ftp命令,将本地文件上传至FTP服务器。示例如下:
ftp -inv your_ftp_server_ip <<EOF
user backupuser your_password
cd /remote/backup/directory # FTP服务器上的目标目录
mput /local/backup/* # 上传本地备份目录下的所有文件
bye
EOF
说明:-inv参数表示交互模式(i忽略错误、n禁止自动登录、v显示详细信息);mput用于批量上传文件。
(2)使用lftp工具(更强大)
lftp支持断点续传、递归同步等功能,适合大量文件备份。安装后执行:
lftp -u backupuser,your_password your_ftp_server_ip -e "mirror -R /local/backup/directory /remote/backup/directory; quit"
说明:mirror -R表示递归上传本地目录至FTP服务器(-R为反向同步)。
2. 自动化备份(定时执行)
通过cron定时任务实现定期自动备份,步骤如下:
- 创建备份脚本:新建
backup_ftp.sh,内容如下(替换为实际参数):#!/bin/bash # FTP服务器信息 FTP_SERVER="your_ftp_server_ip" FTP_USER="backupuser" FTP_PASS="your_password" REMOTE_DIR="/remote/backup/directory" LOCAL_DIR="/local/backup/directory" # 创建本地备份目录(若不存在) mkdir -p "$LOCAL_DIR" # 生成带时间戳的备份文件名 BACKUP_FILE="backup_$(date +%Y%m%d_%H%M%S).tar.gz" # 打包本地需要备份的文件 tar -czvf "$LOCAL_DIR/$BACKUP_FILE" /path/to/source/files # 使用lftp上传备份文件至FTP服务器 lftp -u "$FTP_USER,$FTP_PASS" "$FTP_SERVER" -e "put $LOCAL_DIR/$BACKUP_FILE -o $REMOTE_DIR/$BACKUP_FILE; bye" - 赋予脚本执行权限:
chmod +x /path/to/backup_ftp.sh - 配置cron定时任务:编辑当前用户的crontab(
crontab -e),添加以下行(例如每天凌晨2点执行):0 2 * * * /path/to/backup_ftp.sh >/dev/null 2>&1
说明:>/dev/null 2>&1用于屏蔽脚本输出,避免邮件通知。
三、注意事项
- 安全性优化:
- 避免在脚本中明文存储密码,可使用
.netrc文件(权限设为600)或配置FTP服务器支持SSL/TLS加密(如vsftpd的ssl_enable=YES); - 限制FTP用户权限,仅允许访问必要的目录。
- 避免在脚本中明文存储密码,可使用
- 备份策略:
- 结合完整备份(每周一次)与增量备份(每日一次),减少存储占用;
- 定期检查备份日志(如
/var/log/vsftpd.log),确保备份成功。
- 恢复测试:
- 定期从FTP服务器下载备份文件,验证数据完整性(如解压后检查文件数量及内容)。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1435066.html