Мне нужно настроить банковский интерфейс, где мне нужно подключиться к удаленному банку, а затем загрузить файлы с банковского сервера в ящике на мой локальный сервер для дальнейшей обработки.
поэтому я выполняю следующие команды sftp в crontab
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*
Я думаю, он переименует все файлы (а не тот, который был загружен), как мне заархивировать это?
Если вы не хотите сначала получать список файлов (ls в пакете sftp), а затем обрабатывать их отдельными передачами, переименовывая их по одному по мере их поступления, я бы работал с inotify-tools. Каждый раз, когда завершается запись (файл загружается) в целевой каталог, запускайте сценарий для его переименования.