LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 929|回复: 1

循环语句求助

[复制链接]
发表于 2003-9-3 09:21:25 | 显示全部楼层 |阅读模式
echo "---------------------------------------------------" >>~/file/syn.log
echo "start   time:`date`" >>~/file/syn.log

rsync -auzv --progress --delete --password-file=/etc/rsync.client rsync://host@192.168.1.254:873/u2/file0/* /u1/file0/. && echo "0 is ok `date`" >>~/file/syn.log

for i in iod030 idd030 ecr030 e0103 ecp03 sad2003 mkf
do
  rsync -auzv --progress --delete --password-file=/etc/rsync.client rsync://host@192.168.1.254:873/u1/file1/$i* /baka/file1/. && echo "1 is ok `date`" >>~/file/syn.log

  rsync -auzv --progress --delete --password-file=/etc/rsync.client rsync://host@192.168.1.254:873/u2/file2/$i* /baka/file2/. && echo "2 is ok `date`" >>~/file/syn.log

  rsync -auzv --progress --delete --password-file=/etc/rsync.client rsync://host@192.168.1.254:873/u1/file3/$i* /baka/file3/. && echo "3 is ok `date`" >>~/file/syn.log

  rsync -auzv --progress --delete --password-file=/etc/rsync.client rsync://host@192.168.1.254:873/u1/file5/$i* /baka/file5/. && echo "5 is ok `date`" >>~/file/syn.log

  rsync -auzv --progress --delete --password-file=/etc/rsync.client rsync://host@192.168.1.254:873/u2/file6/$i* /baka/file6/. && echo "6 is ok `date`" >>~/file/syn.log

  rsync -auzv --progress --delete --password-file=/etc/rsync.client rsync://host@192.168.1.254:873/u1/file7/$i* /baka/file7/. && echo "7 is ok `date`" >>~/file/syn.log

  rsync -auzv --progress --delete --password-file=/etc/rsync.client rsync://host@192.168.1.254:873/u2/file8/$i* /baka/file8/. && echo "8 is ok `date`" >>~/file/syn.log

  rsync -auzv --progress --delete --password-file=/etc/rsync.client rsync://host@192.168.1.254:873/u1/file9/$i* /baka/file9/. && echo "9 is ok `date`" >>~/file/syn.log

done

说明:这个脚本实现的就是备份机从主机上file[0-9]下的资料,而且主机上的file[0,2,4,6,8]是放在u2目录的,其他放在u1,也就是奇数对奇数,偶数对偶数,备份机上则放在同一个baka下

而备份机上有4个盘(baka、bakb、bakc、bakd)且bakb已经被人占用,所以现在要用其他三个盘每天轮流备份,我建了三个脚本,就是把上面的脚本的baka改成bakc和bakd,分别存为syn1、syn2、syn3
再用下面的脚本(syn)挂在cron里

day=`date +%j`
eday=`expr $day % 3`
N=`expr $eday + 1`
$HOME/bin/syn$N

好,现在我出现的问题就是,他备份到file0或者file1或者其他目录的时候老是停住了,可不可以让他停在某个目录的时间超过10分钟自动跳过,拷贝下一个目录?
而且各位大虾是否可以把(syn1,syn2,syn3,syn)放在一个脚本里实现呢?
最好还能把syn1的脚本改的简单点,我觉得那个太冗长
发表于 2003-9-3 23:02:11 | 显示全部楼层
我的方法是做 ssh 的 public key 登录方式,然后让 rsync 通过 ssh 管道传数据。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表