目录
|
if (window.showTocToggle) { var tocShowText = “显示”; var tocHideText = “隐藏”; showTocToggle(); }
# cd ~/.ssh/ # ssh-keygen # ls -l total 32 -rw------- 1 root root 1671 Jul 31 11:27 id_rsa -rw------- 1 root root 395 Jul 31 11:27 id_rsa.pub -rw-r--r-- 1 root root 10323 Jul 31 16:07 known_hosts
将公共密钥复制到需要同步的服务器上:
# scp id_rsa.pub root@ondosrv:/root/.ssh/authorized_keys2
# scp id_rsa.pub root@ondosrv:/root/.ssh/authorized_keys
在Frontend机器上测试
# ssh root@ondosrv
注释:应该不需要输入密码。
# cd /backup # vi sync.sh # chmod 700 sync.sh ---------------------------- Linux: rsync -avlR --delete -e ssh root@192.168.100.1:/usr/share/tomcat5/ /backup/ondo/ rsync -avlR --delete /home/utstar/ /backup/frontend/ rsync -avlR --delete /var/named/ /backup/frontend/ rsync -avlR --delete /etc/ /backup/frontend/ ----------------------------
rsync -avlR --delete -e ssh '/cygdrive/d/html/PCMS_document/design_document' root@frontend:/backup/hz_3g_filesrv/
-a, --archive It is a quick way of saying you want recursion and want to preserve almost everything. -v, --verbose This option increases the amount of information you are given during the transfer. -l, --links When symlinks are encountered, recreate the symlink on the destination. -R, --relative Use relative paths. 保留相对路径...才不让子目录跟 parent 挤在同一层... --delete 是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。 -e ssh 建立起加密的连接。
rsync命令的使用请参照:http://hi.baidu.com/finet/blog/item/e43dd8f2df3fb412b07ec5ca.html
备份根目录:
/backup
按机器名称建立子目录:
/backup/ondosrv /backup/frontend /backup/mailsrv ......
# crontab -e 0 2 * * * /backup/sync.sh
注释:每天凌晨2点运行进行同步。
Q1: rsync运行出错,e.g. Solaris machine?
[root@frontend backup]# rsync -avlR --delete -e ssh root@jstart:/jstart/ /backup/vgmsu2/ ksh: rsync: not found rsync: connection unexpectedly closed (0 bytes received so far) [receiver] rsync error: error in rsync protocol data stream (code 12) at io.c(434)
A: 目的机器上的rsync路径不对,无法找到rsync
root@vgmsu2:/usr/bin>which rsync /usr/local/bin/rsync root@vgmsu2:/usr/bin>ln /usr/local/bin/rsync /usr/bin/rsync root@vgmsu2:/usr/bin>which rsync /usr/bin/rsync
Q2: 使用 ssh 登录 Windows 服务器总是需要输入口令,如何避免口令的输入?
Refer to ‘quickstart.txt’
$> cd c:\Program Files\OpenSSH\bin $> mkgroup -l >> ..\etc\group (local groups) mkgroup -d >> ..\etc\group (domain groups) $> mkpasswd -l [-u <username>] >> ..\etc\passwd (local users) mkpasswd -d [-u <username>] >> ..\etc\passwd (domain users) $> net start opensshd
现在可以从别的机器用 ssh 登录到 Windows
修改 c:\Program Files\OpenSSH\etc\passwd
root:unused_by_nt/2000/xp:1012:513:root,U-HZ_3G_FILESRV\root,S-1-5-21-448539723-1450960922-725345543-1012:/cygdrive/c/documents and settings/root:/cygdrive/c/program files/openssh/bin/switch
使用 /cygdrive/c/documents and settings/root 代替 /home/root/
Refer to ‘key_authentication.txt’
复制客户机上的公共密钥到服务器上 $> mkdir C:\Documents and Settings\root\.ssh $> copy id_rsa.pub C:\Documents and Settings\root\.ssh\authorized_keys copy id_rsa.pub C:\Documents and Settings\root\.ssh\authorized_keys2
如果还是需要输入口令,则需要修改 sshd 配置文件 sshd.conf / sshd_config
原来的配置: StrictModes yes 修改后的配置: StrictModes no
重启 sshd 服务,就大功告成了。
rsync -avlR --delete -e ssh administrator@hz_3g_filesrv:'/cygdrive/d/html/PCMS_document/design_document/' /backup/hz_3g_filesrv/ rsync -avlR --delete -e ssh administrator@hz_3g_filesrv:'/cygdrive/f/share1/PCMS_document/8250/design_document/' /backup/hz_3g_filesrv/ rsync -avlR --delete -e ssh administrator@hz_3g_filesrv:'/cygdrive/f/share1/PCMS_document/8260/design_document/' /backup/hz_3g_filesrv/
RSS feed for comments on this post · TrackBack URI
Leave a reply