在Linux上搭建SFTP并对其进行备份的过程可以分为以下几个步骤:
sudo apt-get update
sudo apt-get install openssh-server
/etc/ssh/sshd_config
),并确保以下设置是正确的:PubkeyAuthentication yes
PasswordAuthentication no
这将允许用户通过SSH密钥进行身份验证,而不是使用密码。保存更改并重启SSH服务:
sudo systemctl restart ssh
sftpuser
的用户:sudo adduser sftpuser
为该用户分配一个目录,用于存储SFTP上传的文件。例如,创建一个名为/home/sftpuser/uploads
的目录:
sudo mkdir /home/sftpuser/uploads
sudo chown sftpuser:sftpuser /home/sftpuser/uploads
/etc/ssh/sshd_config
文件,添加以下内容以启用SFTP访问:Subsystem sftp /usr/lib/openssh/sftp-server
保存更改并重启SSH服务:
sudo systemctl restart ssh
/home/sftpuser/uploads
目录。为了自动化备份过程,你可以使用cron作业。例如,创建一个名为backup.sh
的脚本文件:
#!/bin/bash
rsync -avz --delete /path/to/local/directory/ sftpuser@your_server_ip:/home/sftpuser/uploads/
确保脚本具有可执行权限:
chmod +x backup.sh
然后,使用crontab -e
命令创建一个cron作业,以便每天凌晨执行备份脚本。例如,每天凌晨1点执行备份:
0 1 * * * /path/to/backup.sh
保存并退出编辑器。现在,你的Linux服务器将每天自动备份指定的本地目录到SFTP用户的/home/sftpuser/uploads
目录。