linux - 用于轮询 SFTP 目录的 Bash 脚本
问题描述
我在 ubuntu 服务器上运行了 2 个单独且非常简单的 bash 脚本,负责通过 SFTP 将文件上传和下载到外部供应商目录。脚本如下所示
上传
export SSHPASS="$LICENCEPASS"
sshpass -e sftp -oBatchMode=no -oPort="$SFTP_PORT"
"$LICENCENUM"@"$SFTP_HOST" << !
put $REQFILE
bye
!
下载
export SSHPASS="$LICENCEPASS"
sshpass -e sftp -oBatchMode=no -oPort="$SFTP_PORT"
"$LICENCENUM"@"$SFTP_HOST" << !
get $OUTFILE
rm $OUTFILE
bye
!
当请求文件被推送给供应商时,可能需要一分钟才能生成相应的响应文件(根据请求的数据量,它也可能在一秒钟内发生)。我的问题是,是否可以轮询此目录,直到生成响应文件然后运行下载。目前,我正在运行第一个脚本,等待一分钟,然后运行不理想的第二个脚本。理想情况下,我希望上述两个代码片段属于同一个脚本,两者之间有一个部分轮询目录,直到准备好下载响应文件。任何正确方向的指针将不胜感激。
解决方案
推荐阅读
- prolog - 在谓词中赋值
- spring-boot - 在 SFTP 流期间读取一个文件失败时放弃读取文件
- sql - 从存储过程中的 XML 输入参数创建查询并验证输出
- mysql - mysql中的 ::numeric 和 ::text 是什么意思
- python-3.x - 创建的类不会通过断言检查
- python - boto3 ec2 & django
- xamarin.android - 尝试在 Android 模拟器中启动默认项目时出现“已取消构建”Xamarin 消息
- python - 为什么单击()后Selenium脚本项目无法继续
- haskell - 使用“toList”函数创建自定义列表数据结构
- python - 如何在Python中创建一个在特定条件下从另一个表返回值的新列