jojo's blog--快樂憂傷都與你同在
          為夢想而來,為自由而生。 性情若水,風起水興,風息水止,故時而激蕩,時又清平……
          posts - 11,  comments - 30,  trackbacks - 0
          近段時間工作需要做了些scp和rsync的異地安全備份,整理了一下,希望多大家有用。

          scp的備份指南:
          需求:用scp自動完成異地文件的定時copy
          難點:如何讓異地主機建立安全的信任關系

          1、在A機器上用root運行ssh-keygen,將生成/root/.ssh/identity和/root/.ssh/identity.pub兩個文件;

          2、在A機器上運行scp /root/.ssh/identity.pub test@192.168.1.10:/upload/.ssh/authorized_keys(假設B機器的IP地址為192.168.1.10,B 機器上開了用戶test,要上傳到的目錄是/upload,需輸入密碼)。目的是將本地的identity.pub放到遠程機器上并改名為 authorized_keys,這樣就建立了新任主機,以后就不需要每次ssh都需要輸入密碼了;

          3、通過crontab建立腳本,例:30 02 * * 1-5 scp /home/data/* test@192.168.1.10:/upload。
          (每天2:30am自動將/home/data下面的所有文件以test用戶名傳到遠程主機192.168.1.10的/upload目錄中);

          認證原理:
           如果你希望從A作為用戶user1 SSH 到B 作為用戶user2, 若要用RSA鍵對法認證且不需要密碼,則B上的ssh 后臺程序拿出~user2/.ssh/authorized_keys中的與A有關的RSA公鑰來對A上的以user1身份運行的ssh客戶程序進行挑 戰,前面我們已經把A上的identity.pub拷貝到B上作為authorized_keys了。則A保持私鑰identity,而B上的sshd又 拿出A的公鑰來挑戰,因此成功,你可以加很多行到authorized_keys以允許其它服務器的公鑰可以加進來。

          scp特點:
          使用ssl加密,安全性高。

          rsync的備份指南:
          需求:用rsync完成異地文件的同步
          難點:如何建立異地信任關系

          1、在A主機上(rsync服務器)上編譯安裝rsync,需要版本在2.4.3以上(http://rsync.samba.org),在/etc目錄下建立rsyncd.conf文件,內容如下:
          uid = nobody
          gid = nobody
          use chroot = no             # 不使用chroot
          max connections = 4         # 最大連接數為4
          log file = /var/log/rsyncd.log
          pid file = /var/run/rsyncd.pid
          lock file = /var/run/rsync.lock     # 日志記錄文件

          [test]                 # 這里是認證的模塊名,在客戶端需要指定
          path = /home/test         # 需要同步的目錄
          comment = test folder
          uid = root
          ignore errors         # 可以忽略一些無關的IO錯誤
          read only = yes         # 只讀
          list = no             # 不允許列文件
          auth users = rsynctest    # 認證的用戶名,如果沒有這行,則表明是匿名
          secrets file = /etc/test.scrt     # 認證用戶密碼文件

          2、在/etc下建立test.scrt文件,輸入:
          用戶名:密碼
          例:rsynctest:testrsync
          將文件屬性修改為600(千萬注意)

          3、啟動rsync服務:rsync --daemon (rsync運行在tcp 873端口,可以通過netstat -an|grep LISTEN察看)。

          4、在B主機上(rsync客戶機)上建立/etc/test文件,內容為A主機的密碼,例:
          testsync

          5、用crontab建立腳本,例:0 21 * * 1-5 rsync -vzrtp --progress --delete --password-file=/etc/test rsynctest@192.168.1.10::test /home/rsynctest

          rsync中的參數:v是verbose,z是壓縮,r是recursive,tp都是保持文件原有屬性如屬主、時間
          的參數。--progress是指顯示出詳細的進度情況,--delete是指如果服務器端刪除了這一文件,那么客戶端也相應把文件刪除,保持真正的一致。--password-file=/etc/test來指定密碼文件,這樣就可以在腳本中使
          用而無需交互式地輸入驗證密碼了,這里需要注意的是這份密碼文件權限屬性要設得只有屬主可讀(600)。

          rsynctest@192.168.1.10中,rsynctest是指定密碼文件中的用戶名,192.168.1.10是A主機的IP地 址::test是指模塊名[test],也就是在/etc/rsyncd.conf中自定義的名稱。最后的/home/rsynctest是備份到本地的 目錄名。
          (也可以用-e ssh的參數建立起加密的連接,然后和scp中信任主機的辦法一樣如法炮制)
          (在上面實例中的rsynctest并不是真實的用戶,可以根據自己需要文本定義,這也是使用rsync的一大好處)

          rsync的特點:
          特性如下:

          1、可以鏡像保存整個目錄樹和文件系統。
          2、可以很容易做到保持原來文件的權限、時間、軟硬鏈接等等。
          3、無須特殊權限即可安裝。
          4、優化的流程,文件傳輸效率高。
          5、可以使用rcp、ssh等方式來傳輸文件,當然也可以通過直接的socket連接。
          6、支持匿名傳輸。

          rsync的功能還很強大,深入的眼就可以到官方網站上了解。
          posted on 2008-10-02 11:33 Blog of JoJo 閱讀(2564) 評論(0)  編輯  收藏 所屬分類: Linux 技術相關

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章分類

          文章檔案

          新聞分類

          新聞檔案

          相冊

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 都兰县| 理塘县| 锡林郭勒盟| 高州市| 盱眙县| 辽宁省| 囊谦县| 靖边县| 松滋市| 文水县| 临夏县| 修文县| 江源县| 万山特区| 浠水县| 德令哈市| 海阳市| 罗定市| 克拉玛依市| 花垣县| 河西区| 长岛县| 明溪县| 竹山县| 阳新县| 龙口市| 兰考县| 通城县| 寿宁县| 庐江县| 泊头市| 大洼县| 洛川县| 喜德县| 沁阳市| 林芝县| 大方县| 广丰县| 越西县| 黄浦区| 沙雅县|