在Ubuntu系统中,使用SFTP(SSH File Transfer Protocol)备份数据通常涉及以下几个步骤:
安装SFTP服务器: 如果你还没有安装SFTP服务器,可以使用以下命令安装OpenSSH服务器:
sudo apt update
sudo apt install openssh-server
配置SFTP服务器:
编辑SSH配置文件以允许SFTP连接。使用文本编辑器打开/etc/ssh/sshd_config
文件:
sudo nano /etc/ssh/sshd_config
找到并确保以下行没有被注释掉(即没有#
符号):
Subsystem sftp /usr/lib/openssh/sftp-server
保存并关闭文件。
重启SSH服务: 为了使更改生效,需要重启SSH服务:
sudo systemctl restart ssh
创建备份目录: 在服务器上创建一个用于存放备份的目录,并设置适当的权限:
sudo mkdir /backup
sudo chown your_username:your_group /backup
sudo chmod 700 /backup
将your_username
和your_group
替换为你的用户名和用户组。
使用SFTP进行备份: 使用SFTP客户端连接到服务器,并将数据从本地计算机传输到服务器上的备份目录。例如,使用命令行SFTP客户端:
sftp username@server_ip
将username
替换为你的用户名,server_ip
替换为服务器的IP地址。登录后,你可以使用put
命令上传文件:
put /path/to/local/file /backup/destination/path
或者使用mput
命令上传多个文件:
mput /path/to/local/files/*
自动化备份: 如果你想定期自动执行备份,可以编写一个shell脚本来自动化这个过程,并使用cron作业来调度它。
创建一个备份脚本,例如backup.sh
:
#!/bin/bash
sftp username@server_ip <<EOF
put /path/to/local/file /backup/destination/path
bye
EOF
赋予脚本执行权限:
chmod +x backup.sh
编辑cron作业以定期运行脚本。使用crontab -e
命令:
crontab -e
添加一行来定义备份的时间表,例如每天凌晨2点运行备份:
0 2 * * * /path/to/backup.sh
请注意,这些步骤假设你已经有了对服务器的访问权限,并且服务器已经配置了SSH密钥认证或其他安全措施。如果你是在不安全的网络上进行备份,建议使用SSH密钥而不是密码进行身份验证,并确保所有传输的数据都是加密的。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:Ubuntu SFTP安全性如何保障