CentOS FTP Server 数据同步方法
一、常用方案与适用场景
二、方案一 lftp mirror 镜像同步(纯 FTP)
lftp -c "
open ftp://your_ftp_host
user your_ftp_user your_ftp_pass
lcd /path/to/local
cd /path/to/remote
mirror --reverse --delete --verbose --parallel=4
quit
"
lftp -c "
open ftp://your_ftp_host
user your_ftp_user your_ftp_pass
lcd /path/to/local
cd /path/to/remote
mirror --delete --verbose --parallel=4
quit
"
0 2 * * * /usr/bin/lftp -c "open ftp://host; user user pass; lcd /local; cd /remote; mirror --reverse --delete --verbose" >> /var/log/ftp_mirror.log 2>&1
三、方案二 LFTP + SFTP 或 rsync(更安全的传输)
lftp -u $USER,$PASS sftp://$HOST <<'EOF'
cd /remote/path
lcd /local/path
mirror --reverse --delete --verbose
bye
EOF
rsync -avz --delete -e ssh user@remote:/remote/path/ /local/path/
rsync -avz --delete -e ssh /local/path/ user@remote:/remote/path/
0 2 * * * /usr/bin/rsync -av --delete /var/ftp/ /backup/ftp/ >> /var/log/ftp_backup.log 2>&1
四、方案三 挂载 + 本地同步(sshfs)
sudo yum install -y epel-release fuse-sshfs
sudo mkdir -p /home/ftpuser/sync_src
sshfs -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 \
userA@192.168.1.100:/home/origin_dir /home/ftpuser/sync_src
rsync -av --delete /home/ftpuser/sync_src/ /home/ftpuser/
五、防火墙与 vsftpd 配置要点