`
zengshaotao
  • 浏览: 797420 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

shell定时轮询拷贝文件

 
阅读更多

#!/bin/sh

#------------------------------------------------------------------

#脚本功能:从本地特定目录拷贝到远程机器特定目录并更改权限

#文件不存在时就进行轮询,15分钟一次

#脚本需要通过 crontab -e 在系统里进行配置

 

#获取第一个控制台参数,参数的获取不能放在方法体内

#变量名和等号之间不能有空格

date_param=$1

 

#目的机器基础路径

tgt_file_path="/exs/kojki/kye/bxp/"

#目标机器的用户

tgt_user="oracle"

#目标机器的IP

tgt_ip="10.111.17.114"

#当前sh脚本所在的机器路径

local_path="/eu/scan/ghtExp/"

flag=1;#是否继续循环

 

# ------------ main function ------------

main()

{

if [ "${date_param}" = "" ];then

echo "no input date !"

#如果没有输入yyyyMMdd格式的日期,就获取当前日期前一天

date_param=`date  +"%Y%m%d" -d "-1 days"` #文件目录时间

else

echo "input the date is :${date_param}"

    fi

 

echo "..................copy file begin................. "

 

#循环判断数据目录是否存在,存在表明数据已经推送-------------------------

while [ "$flag" -eq 1 ]

do

  if [ ! -d ${local_path}${date_param} ]; then #文件目录不存在

echo "目录不存在,15分钟轮询一次"

sleep 15m

else

echo "目录已经存在"

flag=0;

   fi

done

 

#拷贝当前目录的文件到远程机器

scp -r -P 22022 "${local_path}${date_param}" ${tgt_user}@${tgt_ip}:${tgt_file_path}

echo "..................copy file end................. "

 

echo "..................sleep begin ................ "

#sleep 60

echo "..................sleep end ................ "

 

echo "..................chmod begin ................ "

#登录到远程机器,修改目录的权限

ssh -n -p 22022 ${tgt_user}@${tgt_ip} "chmod -R 777 ${tgt_file_path}${date_param}"

echo "..................chmod end ................ "

}

 

##################################################程序入口##################################################

 

main

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics