shell 批量同步
程序员文章站
2024-03-14 09:26:58
...
批量同步脚本
#!/bin/bash
#lijunmin 20171124
#批量同步脚本
flush()
{
if [ ! -f rsync.list ];then
echo -e "\033[31mPlease Create rsync.list Files,The rsync.list contents as follows: \033[0m"
cat <<EOF
192.168.20.125 src_dir des_dir
192.168.20.123 src_dir des_dir
EOF
exit
fi
rm -fr rsync.list.swp; cat rsync.list |grep -v "#" >rsync.list.swp
COUNT=`cat rsync.list.swp |wc -l`
NUM=0
while ((${NUM} < $COUNT))
do
NUM=`expr $NUM + 1`
Line=`sed -n "${NUM}P" rsync.list.swp`
SRC=`echo $Line |awk '{print $2}'`
DES=`echo $Line |awk '{print $3}'`
IP=`echo $Line |awk '{print $1}'`
rsync -aP --delete ${SRC}/ [email protected]${IP}:${DES}/
done
}
restart()
{
rm -fr restart.list.swp; cat rsync.list |grep -v "#" >>restart.list.swp
COUNT=`cat restart.list.swp |wc -l`
NUM=0
while ((${NUM} < $COUNT))
do
NUM=`expr $NUM + 1`
Line=`sed -n "${NUM}P" restart.list.swp`
Command=`echo $Line |awk '{print $2}'`
IP=`echo $Line |awk '{print $1}'`
ssh -l root $IP "$Command;echo -e '---------------------------------\nThe $IP Exec Command : sh $Command success!'"
done
}
case $1 in
flush)
flush
;;
restart)
restart
;;
*)
echo -e "\033[31mUsage: $0 command, example{flush | restart} \033[0m"
;;
esac
上一篇: 6.2-gzip压缩工具
推荐阅读
-
centos创建shell脚本对postgresql数据库操作
-
达梦数据库-SQL脚本——批量删除模式下所有表
-
mysql数据库主从同步
-
利用logstash同步数据至elasticsearch
-
MySQL之间数据同步
-
Mysql主从同步
-
使用maxwell实时同步mysql数据到消息队列(rabbitMQ)
-
Informatica同步数据到ORACLE库需要注意的几个问题 博客分类: ETL Informaticasql serveroracleetl高精度
-
多线程编程中条件变量和虚假唤醒(spurious wakeup)的讨论 博客分类: JAVA技术 多线程 同步 互斥 条件等待 信号量
-
Informatica同步数据到ORACLE库需要注意的几个问题 博客分类: ETL Informaticasql serveroracleetl高精度