用户工具

站点工具


linux:利用rsync实现自动同步备份

自动同步服务器上的文件到客户端

客户端免密登陆服务器端

一般发行版本的 Linux 系统都是使用的 sshd 作为 ssh 服务端,我们将客户端的 ~/.ssh/id_rsa.pub 拷贝到服务端的 ~/.ssh/authorized_keys 即可(Ubuntu 就是这个文件),注意权限需要至少是 600,而且权限给的越小越安全。

openwrt 使用的 dropbear 作为 ssh 的服务端程序,我们需要将公钥拷贝到 /etc/dropbear/authorized_keys

# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:KmPX2Sb90bUmGrAzOsLh5GZCtkCAeWeacvM3mNvWlsU [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|..               |
|+ . o            |
|.. =             |
|..=              |
|.o o o  So      .|
| . o+ooo +E  . ..|
|  + X++o+*+....o |
|   [email protected].=oo.o.o  |
|    +..o.  ..    |
+----[SHA256]-----+
[email protected]:~/.ssh # ls
id_rsa		id_rsa.pub	known_hosts
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

或者在服务端手动创建authorized_keys文件,将id_rsa.pub的内容复制进去

cd /root/.ssh/
touch authorized_keys
chmod 0600 authorized_keys

有的服务器需要配置文件 /etc/ssh/sshd_config 里,将 PubkeyAuthentication yes 和 RSAAuthentication yes 的注释去掉 后重启远程主机

此时在客户端:

ssh 服务器IP

可免密登陆即表示成功。

利用rsync同步

服务器端需安装rsyncd,然后在客户端执行

rsync -av --no-o --no-g --no-perms [email protected]:/mnt/sda1/sync /bak/

即可将192.168.2.1上的/mnt/sda1/sync目录同步到客户端的/bak/目录下

自动化

可通过crontab或init.d下增加bash脚本实现 freenas中, 可以Tasks/Cron jobs通过定时执行Command实现。

linux/利用rsync实现自动同步备份.txt · 最后更改: 2022/01/29 19:37 由 admin