【发布时间】:2023-01-18 22:14:47
【问题描述】:
我正在用头撞墙,我确定我只是太笨了。
我正在尝试使用 lftp 命令对监视文件夹中的文件运行 for 循环,基本上是一个备份和移动过程。但是由于 LFTP 和循环的工作方式,如果我在完成所有操作之前处理目标上的文件,我会失败。
所以我想做的是用 *.log 读取所有文件,然后如果有 20 个文件只处理 10,那么在下一次运行时再次处理 10 个文件,最终它将一次处理 1 个文件。 我可以循环遍历一切。只是似乎无法弄清楚如何像我说的那样只读取前 10 个文件。
for FILE in *.log; do
lftp -p 2252 -u $FTPUser,$FTPPass $Location <<EOF
set ftp:ssl-allow no
set xfer:use-temp-file on
set xfer:temp-file-name *.tmp
set log:file/xfer /log/LFTP_$FILE.log;
mput $LogPath/$FILE
quit
EOF
if [ $? == "0" ]; then
rm $LogPath/$FILE
else
echo "Error"
fi
done;
【问题讨论】: