需要帮助在ksh中编写脚本,基本上在一个目录中每天都会传输一个文件,但在这个目录(地毯)中,大多数不会超过7个文件(每周传输一个文件)的csv格式。所以脚本应该只保留7个文件,当它收到第8个文件时,它应该将最旧的(.csv文件)移动到另一个服务器,我知道如何编写ftp脚本但不知道如何编写这种脚本并放这个在第8天运行的cron作业中的脚本类型。例如每个星期一凌晨1点。谢谢希望一些帮助。我输入了这个,但不确定它是否可行。
find /successfactors/interfaces/OUT -mtime +8 -type f -exec mv "{}" /successfactors/interfaces/out-resp \;
答案 0 :(得分:0)
假设没有关于文件名(您控制文件名)或特殊文件名(如非ascii char或控制字符)的安全漏洞
ls -1t \
| sed -n '1,7 !p' \
| while read FileName
do
# ftp your file "${FileName}"
rm "${FileName}"
done
但是ftp传入文件可能更安全,而不仅仅是旧文件