ksh脚本将7个文件保存在目录中,并在每次收到第8个文件时移动最旧的文件

时间:2015-10-27 19:33:01

标签: ftp ksh aix

需要帮助在ksh中编写脚本,基本上在一个目录中每天都会传输一个文件,但在这个目录(地毯)中,大多数不会超过7个文件(每周传输一个文件)的csv格式。所以脚本应该只保留7个文件,当它收到第8个文件时,它应该将最旧的(.csv文件)移动到另一个服务器,我知道如何编写ftp脚本但不知道如何编写这种脚本并放这个在第8天运行的cron作业中的脚本类型。例如每个星期一凌晨1点。谢谢希望一些帮助。我输入了这个,但不确定它是否可行。

find /successfactors/interfaces/OUT -mtime +8 -type f -exec mv "{}" /successfactors/interfaces/out-resp \;

1 个答案:

答案 0 :(得分:0)

假设没有关于文件名(您控制文件名)或特殊文件名(如非ascii char或控制字符)的安全漏洞

ls -1t \
 | sed -n '1,7 !p' \
 | while read FileName
    do
      # ftp your file "${FileName}" 

      rm "${FileName}"
    done

但是ftp传入文件可能更安全,而不仅仅是旧文件