将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;

 

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

 

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

 

相关文章:

  • 2021-11-09
  • 2021-12-11
  • 2022-12-23
  • 2022-01-03
  • 2022-12-23
  • 2022-12-23
  • 2022-02-16
猜你喜欢
  • 2021-05-28
  • 2021-07-31
  • 2021-09-06
  • 2022-12-23
  • 2022-12-23
  • 2021-09-15
  • 2021-10-22
相关资源
相似解决方案