kettle 从sftp 下载今天生成的文件

将ftp上指定路径下 今天生成的文件下载到本地 ;难点:文件名中有空格 需要处理 ;

获取sftp上当天生成的文件脚本:

#!/bin/bash
function read_dir(){
today=`date +%Y-%m-%d`
IFS_old=$IFS
IFS=$'\n'

for file in `ls $1`
do
if [ -d $1"/"$file ] ;then 
    read_dir $1"/"$file
elif [ -f $1"/"$file ] ;then  
    longfile=`ls -l --time-style=long-iso $1"/"$file`
    check=`echo $longfile | grep $today`
    if [ -n "$check" ] ; then  
        echo $1"/"$file
    fi
fi

done
IFS=$IFS_old
}
read_dir $1

 

crontab 调度用

#!/bin/bash
path=/home/SFTP
bash $path/getTodayCreateFile.sh $path  >$path/todayCreateFileList.txt

 

 将文件名中包含空格的文件重新进行重名

# 去除projectHome 目录下包含空格的文件名
cd $projectHome
find . -type f -name "* *" -print |
while read name; do
    na=$(echo $name | tr ' ' '_')
if [[ $name != $na ]]; then
    mv "$name" $na
fi
done

 

 

 job 通过JS 获取当天日期

useDate =0;
if (useDate == 0) {
date = new java.util.Date();
//date.setDate(date.getDate()-1); //Go back 1 full day
dateFormat = new java.text.SimpleDateFormat("yyyyMMdd");
newDateStr = dateFormat.format(date);
parent_job.setVariable("currentDate", newDateStr);
}
true;

 

 

 

 

posted @ 2021-03-31 17:27  linbo.yang  阅读(1221)  评论(0编辑  收藏  举报