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

 

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

franklinstby<*frankdb*/home/oracle>$ cd  /home/oracle
franklinstby<*frankdb*/home/oracle>$ mkdir  .ssh
franklinstby<*frankdb*/home/oracle>$ chmod  700  .ssh
franklinstby<*frankdb*/home/oracle>$ cd  /home/oracle
franklinstby<*frankdb*/home/oracle>$ ssh-keygen  -t  rsa

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

 

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

franklindb<*frankdb*/home/oracle/.ssh>$touch  authorized_keys
franklindb<*frankdb*/home/oracle>$ ssh 10.17.113.18 cat  ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

 

3. 测试连通性  (备注: 10.17.113.15 是源库的IP地址 )
franklinstby<*frankdb*/data/frankdb/arch>$ssh 10.17.113.15  date

 

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

franklinstby<*frankdb*/home>$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<*frankdb*/data/frankdb/arch>$ 


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

 

请使用浏览器的分享功能分享到微信等