两台linux服务器远程备份

1.配置SSH自动安全访问机制
   登录到离线存储服务器 #offsite 以后,使用 ssh-keygen 程序并给出 -t dsa 选项来创建一个公钥 / 密钥对。 -t 选项是必须的,用来指定我们要生成的密钥类型。我们将使用数字签名算法( Digital Signature Algorithm , DSA ),它让我们可以使用更新的 SSH2 协议 .
   在 ssh-keygen 执行的过程中,在询问您口令( passphrase )之前,将提示您输入 ssh 密钥存储的位置。当询问在何处存储密钥时只需要按下回车键,然后 ssh-keygen 程序将创建一个名为 .ssh 的隐藏目录(如果原来不存在),以及两个文件,一个公钥文件和一个私钥文件 . 当要求输入口令时,确保输入一个足够长的字符消息,最好包含混合字符而不仅仅是一个简单的密码字符串 .
 
[offsite] ssh-keygen -t dsa
   Generating public/private dsa key pair.
   Enter file in which to save the key (/home/accountname/.ssh/id_dsa):
   Enter passphrase (empty for no passphrase): (enter passphrase)
   Enter same passphrase again: (enter passphrase)
   Your identification has been saved in /home/accountname/.ssh/id_dsa.
   Your public key has been saved in /home/accountname/.ssh/id_dsa.pub.
   The key fingerprint is:
   7e:5e:b2:f2:d4:54:58:6a:fa:6b:52:9c:da:a8:53:1b accountname@offsite
   将公钥安装到远程服务器上
   [offsite]$ scp .ssh/id_dsa.pub [email protected]
   [email protected]'s password: (enter password, not new
   passphrase!)
   id_dsa.pub 100% |*****************************| 614 00:00
   [offsite]$ scp .ssh/id_dsa.pub [email protected]
   [email protected]'s password: (enter password, not new
   passphrase!)
   id_dsa.pub 100% |*****************************| 614 00:00
   将 offsite.pub 添加到已授权密钥列表
   [offsite]$ ssh [email protected]
   [email protected]'s password: (enter password, not new
   passphrase!)
   [server1]$ cat offsite.pub >> ./ssh/authorized_keys
   
   将先前上传的 offsite.pub 密钥文件删除,因为再也不需要它了
   [server1]$ rm offsite.pub
   
   使用 ssh-agent 自动化机器访问
   ssh-agent 程序如同一个看门人,它根据需要安全地提供对安全密钥的访问。ssh-agent 启动后,它就会在后台运行,并且可以由 ssh 和 scp 程序等其他 OpenSSH 应用程序所使用。这就使得 ssh 程序可以请求一个已经解密了的密钥,而不是在每次需要时向您询问私钥的安全口令。
   
   [offsite]$ ssh-agent
   SSH_AUTH_SOCK=/tmp/ssh-XX1O24LS/agent.14179; export SSH_AUTH_SOCK;
   SSH_AGENT_PID=14180; export SSH_AGENT_PID;
   echo Agent pid 14180;
   我们可以使用 shell 的 eval 命令来让 shell 执行 ssh-agent 显示的输出命令:
   [offsite]$ eval `ssh-agent` 
   Agent pid 14198 
   
   现在我们就已经可以使用 ssh-agent 共享我们的口令
   [offsite]$ ssh-add
   Enter passphrase for /home/accountname/.ssh/id_dsa: (enter passphrase)
   Identity added: /home/accountname/.ssh/id_dsa
   (/home/accountname/.ssh/id_dsa)
   
   现在,当我们访问 server1 时,不会再被提示输入口令:
   [offsite]$ ssh [email protected] 
   [server1]$ exit 
   最后我们在#offsite上就可以建立定时执行的同步脚本
   #!/bin/sh
   rsync –av --delete –e ssh 192.168.0.1:/xxx/xxx/ /backup/yyy/ >/backup/rsync_week_log.txt
  
  至于关于文件选择等其他定制方法可以参考rsync的使用方法
  定时启动备份脚本
  [offsite]$ crontab –e
  插入
  30 2 * * 1 /xxx/rsync_backup.sh
  
  在目标服务器上开启同步服务
  [server1]$  rsync --deamon
  

你可能感兴趣的:(linux,职场,服务器,休闲)