debian

Debian FTPServer如何备份策略

小樊
38
2025-12-18 03:01:15
栏目: 智能运维

Debian FTP Server 备份策略

一 备份范围与保留目标

二 备份方法与工具选择

三 示例脚本与定时任务

#!/usr/bin/env bash
set -Eeuo pipefail

DATE=$(date +%F)
BACKUP_ROOT="/backup/ftp"
DATA_DIR="/var/lib/vsftpd"          # 若使用系统用户,请改为 /home 或相应目录
LOGS_DIR="/var/log/vsftpd"
ETC_VSFTPD="/etc/vsftpd"
RSYNC_DEST="user@backup-host:/backup/ftp-rsync/$DATE"
KEEP_DAYS=14

mkdir -p "$BACKUP_ROOT/$DATE"

# 1) 配置与日志打包
tar -czf "$BACKUP_ROOT/$DATE/etc_vsftpd_$DATE.tar.gz" -C / "$ETC_VSFTPD"
[ -d "$LOGS_DIR" ] && tar -czf "$BACKUP_ROOT/$DATE/logs_vsftpd_$DATE.tar.gz" -C / "$LOGS_DIR"

# 2) 数据增量同步(本地或远程)
if command -v rsync >/dev/null 2>&1; then
  mkdir -p "$(dirname "$RSYNC_DEST")"
  rsync -aAX --delete "$DATA_DIR/" "$RSYNC_DEST/"
fi

# 3) 可选:全系统快照(谨慎使用,排除备份目录与无关文件系统)
# tar --exclude="$BACKUP_ROOT" --one-file-system -czf "$BACKUP_ROOT/$DATE/system_$DATE.tar.gz" /

# 4) 清理过期
find "$BACKUP_ROOT" -maxdepth 1 -type d -mtime +$KEEP_DAYS -exec rm -rf {} +
sudo crontab -e
# 0 2 * * * /usr/local/bin/backup_ftp.sh >> /var/log/backup_ftp.log 2>&1

四 恢复流程与验证

五 安全与运维要点

0
看了该问题的人还看了