在 Linux 下使用 SFTP 做备份,常见做法有几种,从最简单的手动方式到自动化脚本/工具。下面按实用程度给你整理。
sftp user@backup-server
put /var/backups/db.sql.gz /backup/
get /backup/db.sql.gz /tmp/
✅ 适合:偶尔备份、小文件
#!/bin/bash
BACKUP_FILE=/var/backups/$(date +%F).tar.gz
REMOTE_DIR=/backup/
# 生成本地备份
tar -czf $BACKUP_FILE /etc /home
# SFTP 上传
sftp user@backup-server <<EOF
put $BACKUP_FILE $REMOTE_DIR
bye
EOF
赋予执行权限:
chmod +x backup.sh
lftp(比 sftp 更适合脚本)lftp sftp://user:password@backup-server -e "mirror -R /local/backup /remote/backup; bye"
✅ 优点:
rsync + ssh(强烈推荐备份方案)虽然不是纯 SFTP,但最常用:
rsync -avz -e ssh /data/ user@backup-server:/backup/
✅ 优点:
crontab -e
每天凌晨 2 点备份:
0 2 * * * /root/backup.sh
你可以告诉我:
我可以直接帮你写一套可用的备份脚本。