Linux下使用ssh密鑰實現無交互備份

服務器A(主) 192.168.1.120tomcat

服務器B(從) 192.168.1.130安全

需求:服務器B按期拉取服務器A的數據並備份。bash

實現方式:服務器

1、備份服務器B安裝rsync

1)查看是否安裝 rpm -aq rsync
安裝命令 yum intsall rsync -y ssh

2)啓動服 測試

  1. rsync --daemon

 

3)查看服務spa

  1. ps -ef |grep rsync #或者 netstat -lnutp |grep rsync

2、主服務器A配置用戶

新增用戶code

  1. useradd rget

設置密碼crontab

  1. echo '123456' | passwd --stdin rget

設置權限get

  1. setfacl -R -m user:rget:rwx /home/tomcat8

設置默認權限 及時之後目錄變更更改

  1. setfacl -R -m default:rget:rwx /home/tomcat8

查看權限是否正確

  1. getfacl /home/tomcat8_pay

2、備份服務器B生成密鑰

1)生成密鑰(一直回車就能夠)

  1. ssh-keygen -t rsa

2)複製密鑰,這裏須要輸入服務器A剛纔配置的的密碼

  1. ssh-copy-id rget@192.168.1.120

3)測試 登錄服務器A(主)

  1. ssh rget@192.168.1.120

4)登錄成功 exit 退出便可

3、備份服務器B執行同步

1)執行命令

  1. rsync -azP --delete rget@192.168.1.130:/home/tomcat8 /backup

若是backup目錄中存在tomcat8中的文件,同步成功。

2)編寫腳本

vi rsync_back.sh

  1. #!/bin/bash
  2. rsync -az rget@192.168.1.130:/home/tomcat8 /backup

按期備份的時候能夠把 -azP中的P去掉,不用看進度。

delete 也要去掉,防止誤刪操做。

執行 chmod +x rsync_back.sh

3)定時同步(天天一點半)

命令 crontab -e

  1. 30 1 * * * /home/rsync_back.sh &
  2. #按期備份
  3. tar -zcvf backup_`date +%Y-%m-%d`.tar.gz /backup/

固然這樣實現備份是極爲不安全的,rget用戶是能夠登錄系統的,也就是說能夠作各類操做,甚至提權操做。

後面咱們要講到的是使用 rsync配置虛擬用戶備份文件,不使用系統用戶。

相關文章
相關標籤/搜索