在linux系统中,同步更新数据的脚本,以及调用远程执行脚本的方法。 介绍下在本机结合调用远程机器脚本的方法。 A机器(beta)打包、B机器(同步更新调用了C的脚本)、C机器(数据服务器) 【在A机器】
dw_package.sh
复制代码代码示例:
user@A:/data/shell/dw> cat dw_package.sh
#read -p "请填写svn版本号:"svnno
#read -p "请填写svn版本号:"svnno 【在B机器】
dw_update.sh
复制代码代码示例:
web@ebay53:~> cat /data/shell/dw/dw_update.sh
PATH=/data/maven/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
PATH=/data/maven/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin 【在C机器】
dw_sync.sh
复制代码代码示例:
user@test:~$ cat /data/application/dwsync/dw_sync.sh
(责任编辑:IT)#!/bin/bash # 同步并加入定时同步 # 2012年11 SHELL_DIR=/data/application/dwsync echo -e "\033[32m请在下面输入逻辑表名,多个则以逗号隔开,\033[0m如:Listing,Item" echo -ne "请输入逻辑表名:" read tabname echo -e " " echo -ne "同步类型:全量同步(allSync.sh)/增量同步(updateSync.sh)\n\033[32m\nallSync.sh\nupdateSync.sh\n\033[0m" echo -ne "请选择同步类型:" read Sync #跳转目录 $SHELL_DIR/$Sync $tabname || (echo -e "\033[31m 请确认同步类型或逻辑表名是否正确 \033[0m";exit) echo -ne "定时类型:\033[32m增量定时(dwsync_update_list.txt)或全量定时(dwsync_all_list.txt)\033[0m\n无需加定时或已加定时请\033[32mctrl+c\033[0m退出\n\033[32m\ndwsync_update_list.txt\ndwsync_all_list.txt\n\033[0m" echo -ne "请选择定时类型:" read timer # 若需把逻辑表名加入到定时文本里,则继续执行下列脚本 #假如多次重复同步。。。。。。 if [[ $timer == dwsync_update_list.txt ]] then echo $tabname|sed 's/\,/\n/g' >>$SHELL_DIR/dwsync_update_list.txt cat $SHELL_DIR/dwsync_update_list.txt |sort|uniq >$SHELL_DIR/dwsync_update_list.tmp cat $SHELL_DIR/dwsync_update_list.tmp >$SHELL_DIR/dwsync_update_list.txt rm -f $SHELL_DIR/dwsync_update_list.tmp echo -ne "\033[32mSuccessful! 已成功加入增量定时\033[0m\n" elif [[ $timer == dwsync_all_list.txt ]] then echo $tabname |sed 's/\,/\n/g' >>$SHELL_DIR/dwsync_all_list.txt cat $SHELL_DIR/dwsync_all_list.txt |sort |uniq > $SHELL_DIR/dwsync_all_list.tmp cat $SHELL_DIR/dwsync_all_list.tmp >$SHELL_DIR/dwsync_all_list.txt rm -f $SHELL_DIR/dwsync_all_list.tmp echo -ne "\033[32mSuccessful! 已成功加入全量定时\033[0m\n" else exit fi 123456789101112131415161718192021222324252627282930313233343536 user@test:~$ cat /data/application/dwsync/dw_sync.sh #!/bin/bash # 同步并加入定时同步 # 2012年11 SHELL_DIR=/data/application/dwsync echo -e "\033[32m请在下面输入逻辑表名,多个则以逗号隔开,\033[0m如:Listing,Item" echo -ne "请输入逻辑表名:" read tabname echo -e " " echo -ne "同步类型:全量同步(allSync.sh)/增量同步(updateSync.sh)\n\033[32m\nallSync.sh\nupdateSync.sh\n\033[0m" echo -ne "请选择同步类型:" read Sync #跳转目录 $SHELL_DIR/$Sync $tabname || (echo -e "\033[31m 请确认同步类型或逻辑表名是否正确 \033[0m";exit) echo -ne "定时类型:\033[32m增量定时(dwsync_update_list.txt)或全量定时(dwsync_all_list.txt)\033[0m\n无需加定时或已加定时请\033[32mctrl+c\033[0m退出\n\033[32m\ndwsync_update_list.txt\ndwsync_all_list.txt\n\033[0m" echo -ne "请选择定时类型:" read timer # 若需把逻辑表名加入到定时文本里,则继续执行下列脚本 #假如多次重复同步。。。。。。 if [[ $timer == dwsync_update_list.txt ]] then echo $tabname|sed 's/\,/\n/g' >>$SHELL_DIR/dwsync_update_list.txt cat $SHELL_DIR/dwsync_update_list.txt |sort|uniq >$SHELL_DIR/dwsync_update_list.tmp cat $SHELL_DIR/dwsync_update_list.tmp >$SHELL_DIR/dwsync_update_list.txt rm -f $SHELL_DIR/dwsync_update_list.tmp echo -ne "\033[32mSuccessful! 已成功加入增量定时\033[0m\n" elif [[ $timer == dwsync_all_list.txt ]] then echo $tabname |sed 's/\,/\n/g' >>$SHELL_DIR/dwsync_all_list.txt cat $SHELL_DIR/dwsync_all_list.txt |sort |uniq > $SHELL_DIR/dwsync_all_list.tmp cat $SHELL_DIR/dwsync_all_list.tmp >$SHELL_DIR/dwsync_all_list.txt rm -f $SHELL_DIR/dwsync_all_list.tmp echo -ne "\033[32mSuccessful! 已成功加入全量定时\033[0m\n" else exit fi |