rsync 设置Linux下目录同步[final]

本文详细介绍了如何在两台Linux机器之间配置SSH免密码登录,并通过Rsync命令实现文件同步。从生成公钥到设置cron定时任务,一步步指导读者完成整个流程。

 

1. 在目标机上生成public key  .

franklinstby$ cd  /home/oracle
franklinstby$ mkdir  .ssh
franklinstby$ chmod  700  .ssh
franklinstby$ cd  /home/oracle
franklinstby$ ssh-keygen  -t  rsa

然后可以看到 .ssh 目录下生成有 id_rsa.pub 文件。

 

2. 在源机器上家目录.ssh下生成authorized_keys文件,然后将目标机的
public key传输源机器已经存在 authorized_keys 文件中.
备注: 10.17.113.18 是目标机的IP地址 。

franklindb$touch  authorized_keys
franklindb$ ssh 10.17.113.18 cat  ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

 

3. 测试连通性  (备注: 10.17.113.15 是源库的IP地址 )
franklinstby$ssh 10.17.113.15  date

 

4. 现在可以登入目标机器,开始测试rsync .

franklinstby$rsync -e ssh -av oracle@10.17.113.15:/data/frankdb/arch/ /data/frankdb/arch/   
receiving file list ... done
./
1_626_721631640.arc
1_627_721631640.arc
1_628_721631640.arc
1_629_721631640.arc
1_630_721631640.arc
1_631_721631640.arc
sent 349808 bytes  received 831141263 bytes  11013126.77 bytes/sec
total size is 1153840128  speedup is 1.39
franklinstby$ 


5. 设置crontab 及脚本自动进行不同目录的同步。

同步目录中文件的脚本如下: 

#!/bin/bash

pid=`/sbin/pidof rsync`
if [ "$pid" ]
then
    echo
    echo "Starting rsync `date`"
    echo "Rsync is already running...."
else
    echo
    echo "Starting rsync `date`"
    rsync -e ssh -av oracle@10.17.113.15:/data/frankdb/arch/  /data/frankdb/arch/
    echo "Completed rsync `date`"
fi

exit 0

 

6.  设置linux中的crontab (注意事先建立相应的目录) 
*/10 * * * * bash /u01/run/rsync_arc 1>>/u01/run/log/rsync_arc.log  2>>/u01/run/log/rsync_arc.bad

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-672849/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-672849/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值