我有一个简单的 shell 脚本来将每日日志文件传输到另一个 Windows FTP。
问题是如果文件已经存在,即使文件名完全相同,它仍然会上传一个新文件。
如何快速检查这个脚本?如果文件存在,则不会继续进行 FTP 传输
ftp -n -v $HOST << EOT
user $USER $PASSWD
prompt
bin
mput $FILE
bye
EOT
最佳答案
在 Unix
中使用 ftp
很容易。首先通过ftp
登录系统,通过ftp
运行ls -ltr
命令,在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
发送它。
关于linux - shell 脚本 : ftp to check existing file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49027067/