Я все еще новичок в создании сценариев оболочки и хотел бы сделать несколько резервных копий полученных мной биллинговых файлов, а затем загрузить их в каталог FTP-сервера и после завершения архивировать файл в новый каталог с именем archive. Вот что меня сбивает с толку:
Файлы фактуры отправляются с включенной случайной подстрокой (например, 020001.030002.XXXXX.01.2, где XXXXXX изменяется ежедневно). Что мне нужно сделать, это использовать что-то вроде awk, чтобы найти подстроку в имени файла, скопировать ее в переменную, чтобы я мог использовать ее для передачи имени файла на FTP-сервер, а затем заархивировать файл. Затем мне нужно поместить переменную в нечто, похожее на FILE = 020001.030002. ($ VARIABLE) .01.2.
Я обнаружил этот пост в stackoverflow , который похож по своей природе, однако, так как у меня есть случайный входной файл каждый раз, когда я испытываю трудности с выяснением, как выполнить эту задачу. Если это не то, что можно сделать с помощью сценариев оболочки, есть ли другой способ (Python и т. Д.) Для выполнения этой задачи?
Примеры имен файлов - опять же они произвольно создаются моим биллинг-сервером: (обратите внимание, что в конце этих файлов нет расширения)
- 020001.030002.00320.01.2
- 020001.030002.07243.01.2
- 020001.030002.12048.01.2
Требуемый формат должен оставить это имя файла без изменений для размещения в сценарии FTP для загрузки, например:
#/bin/bash
FTPU="user" # ftp login name
FTPP="passwd" # ftp password
FTPS="ftp.server.com" # remote ftp server
FTPF="/home/backup/" # remote ftp server directory for $FTPU & $FTPP
LOCALFILE="020001.030002.($INSERT_VARIABLE_HERE).01.2"
ncftpput -m -u $FTPU -p $FTPP $FTPS $FTPF $LOCALFILE