shell脚本:ftp检查现有文件

问题描述 投票:0回答:1

我有一个简单的shell脚本将日常日志文件传输到另一个Windows FTP。

问题是如果文件已经存在,即使文件名完全相同,它仍然会上传新文件。

如何快速检查此脚本?如果文件在那里,则它不会继续FTP传输

ftp -n -v $HOST << EOT
user $USER $PASSWD
prompt
bin
mput $FILE
bye
EOT
linux shell
1个回答
0
投票

Unixftp很容易。首先通过ftp登录系统并通过ls -ltr运行ftp命令并列出history.txt文件中的文件(参见下面的示例),并在传输文件时首先检查该文件是否已在历史文件中可用。如果可用,请不要传输该文件。我这样做如下: -

HISTORY_FILE="history.txt"

ftp -n -v $HOST << EOT
user $USER $PASSWD
prompt
bin
ls -rtE $HISTORY_FILE
bye
EOT

现在您可以使用以下命令来检查: -

ISFILENAMEEXIST=$(cat $HISTORY_FILE | grep $FILE)

现在,如果文件存在于history.txt中,请不要发送该文件,如果不可用,请通过ftp发送。

© www.soinside.com 2019 - 2024. All rights reserved.