Ubuntu SFTP备份数据的方法
导读:Ubuntu使用SFTP备份数据的方法 一、准备工作:安装与配置SFTP服务器 SFTP基于SSH协议,默认集成在Ubuntu的openssh-server中,无需额外安装SFTP组件,只需配置即可使用。 安装OpenSSH服务器 更新软...
Ubuntu使用SFTP备份数据的方法
一、准备工作:安装与配置SFTP服务器
SFTP基于SSH协议,默认集成在Ubuntu的openssh-server中,无需额外安装SFTP组件,只需配置即可使用。
- 安装OpenSSH服务器
更新软件包列表并安装:sudo apt update & & sudo apt install openssh-server - 配置SFTP子系统
编辑SSH配置文件(/etc/ssh/sshd_config),确保以下关键配置未被注释:
若需限制用户仅能通过SFTP访问(增强安全性),可添加以下配置(需提前创建Subsystem sftp /usr/lib/openssh/sftp-serversftpusers组并添加用户):
保存文件后,重启SSH服务使配置生效:Match Group sftpusers ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding nosudo systemctl restart sshd - 创建备份目录
在服务器上创建专用备份目录,并设置合理权限(避免其他用户修改):sudo mkdir -p /backup/data # 创建备份目录 sudo chown your_username:your_group /backup/data # 修改所有者(替换为你的用户名和组) sudo chmod 700 /backup/data # 仅所有者可读写执行
二、手动执行SFTP备份(命令行方式)
通过命令行工具sftp可直接传输文件,适用于临时或手动备份场景。
- 连接SFTP服务器
在本地终端输入以下命令,替换username(服务器用户名)、remote_host(服务器IP/域名):
输入密码后进入SFTP会话(提示符变为sftp username@remote_hostsftp>)。 - 上传文件/目录
- 单个文件:使用
put命令,指定本地路径和远程目标路径(如将本地~/documents/report.pdf备份到服务器/backup/data目录):put ~/documents/report.pdf /backup/data/ - 整个目录:添加
-r参数递归上传(如备份本地~/photos目录):put -r ~/photos /backup/data/
- 单个文件:使用
- 退出会话
输入exit或bye结束SFTP连接。
三、自动化备份(脚本+定时任务)
通过脚本和cron定时任务可实现每日自动备份,减少手动操作。
- 编写备份脚本
创建脚本文件(如/home/your_username/backup_script.sh),内容如下(替换为实际路径和用户名):保存后赋予执行权限:#!/bin/bash # 定义变量 LOCAL_DIR="/home/your_username/documents" # 本地待备份目录 REMOTE_USER="your_username" # 服务器用户名 REMOTE_HOST="remote_host" # 服务器IP/域名 REMOTE_DIR="/backup/data" # 服务器备份目录 TIMESTAMP=$(date +%Y%m%d_%H%M%S) # 时间戳(用于区分备份版本) # 使用SFTP上传目录(递归) sftp $REMOTE_USER@$REMOTE_HOST < < EOF put -r $LOCAL_DIR $REMOTE_DIR/$TIMESTAMP bye EOFchmod +x /home/your_username/backup_script.sh - 配置cron定时任务
编辑当前用户的cron表(crontab -e),添加以下行(如每天凌晨2点执行备份):
说明:0 2 * * * /home/your_username/backup_script.sh > > /home/your_username/backup.log 2> & 1> > /home/your_username/backup.log 2> & 1会将脚本输出(包括错误信息)追加到日志文件,便于后续排查问题。
四、注意事项
- 安全性:优先使用SSH密钥认证(替代密码),避免密码泄露;敏感备份数据建议用
gpg等工具加密。 - 权限管理:确保备份目录权限正确(如
700),防止未授权访问;若使用chroot限制用户,需确保目录结构符合要求(如ChrootDirectory的父目录需属root)。 - 备份验证:定期检查备份文件的完整性和可用性(如尝试恢复部分文件),避免因传输错误导致备份失效。
- 网络稳定性:确保本地与服务器之间的网络稳定,避免备份中断;若备份数据量大,可考虑使用
rsync(支持断点续传)替代put命令。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu SFTP备份数据的方法
本文地址: https://pptw.com/jishu/729196.html
