![SFTP 下载文件然后我想重命名服务器文件,该怎么做?](https://linux22.com/image/796041/SFTP%20%E4%B8%8B%E8%BD%BD%E6%96%87%E4%BB%B6%E7%84%B6%E5%90%8E%E6%88%91%E6%83%B3%E9%87%8D%E5%91%BD%E5%90%8D%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%96%87%E4%BB%B6%EF%BC%8C%E8%AF%A5%E6%80%8E%E4%B9%88%E5%81%9A%EF%BC%9F.png)
我必须设置银行界面,以便连接到远程银行,然后将银行服务器收件箱中的文件下载到我的本地服务器进行进一步处理
所以我在 crontab 中执行以下 sftp 命令
sftp -b /usr/local/CoXXX/inbox/get.sh user@host
而我的 get.sh 有这个
cd CoXX/inbox
get ^DELIST*
get ^BPAY*
bye
然而我的要求是在下载文件后,我需要将服务器中的文件重命名为 D-(相同文件名),只需添加 D- 即可识别该文件已被处理。
如果我这样做,我该怎么做
rename DELIST* D-DELIST*
我认为它会重命名所有文件(不是已下载的文件)我该如何存档?
答案1
如果您不想先检索文件列表(sftp 批处理中的 ls),然后使用单独的传输处理它们,并在文件到达时逐个重命名,我会使用 inotify-tools。每当写入完成(文件下载)到目标目录时,触发脚本来重命名它。