RH 7.5 Linux는 sftp와 함께 컬을 사용하여 특정 파일 확장자로 끝나는 여러 파일을 가져옵니다.

RH 7.5 Linux는 sftp와 함께 컬을 사용하여 특정 파일 확장자로 끝나는 여러 파일을 가져옵니다.

저는 Red Hat Linux 7.5 환경을 사용하고 있습니다. 특정 파일 확장자로 끝나는 폴더에서 파일을 가져오거나 받기 위한 컬 스크립트를 작성하려고 합니다.

이전에는 ftps(SFTP 아님) 옵션, 로그인 및 비밀번호, 전체 추적 로깅 및 기타 오류의 경우 2>&1입니다. 파일 이름이 로컬이고 일부 스크립트 논리로 grep'ed할 수 있었기 때문에 스크립트를 작성할 수 있었습니다.

기본적으로 보낼 컬 진술은 다음과 같습니다.(아니요, 문자열의 실제 참조가 아닙니다. 개인정보 보호를 위해 해당 값을 변경했습니다.):

curl --ftp-ssl -k --trace /bedrock/fred/logs/sendpdf.log -T /bedrock/fred/brontosaurussteak.pdf -u fflintstn:H4s$anC#0P ftp://bedrockpoobalodge.com:27Memebers/fredflintstone/pdffiles/ >> /bedrock/fred/logs/transfer.log

위의 모든 참조는 스크립트에 있고 경로에 대한 참조와 기타 항목은 매시간 수백 개의 파일을 처리하는 루프의 변수에 저장됩니다. 작업 스크립트에서는 다음과 같습니다.

curl $curlFTPC $curlTRCMD\_$trFlCntr\_$cntnt.txt $curlSF/$file $curlAHaD &>> $prcssLgFl

끌어오거나 받을 파일 이름을 모르는 경우에는 전혀 다른 문제입니다.

나는 다음과 같은 'curl eval'을 기반으로 반복되는 많은 예를 살펴보았습니다.

for i in $(curl https://someserver.com/alpha/beta/gamma/  | grep pdf | awk -F "=" '{print $2}' | jq '.[].full_path' | awk -F '"' '{printf("https://someserver.com/alpha/beta/gamma/%s\n",$2)}')

하지만 동일한 프로토콜과 인증 하에서 끌어오기/받기와 같은 작업을 수행할 수는 없는 것 같습니다. 나는 분명한 것을 놓치고 있다고 확신합니다.

bash에서 스크립트가 가능하고 Expect를 사용하지 않는 한 솔루션이나 대안에 열려 있습니다.SFTP를 사용할 수 있습니다그리고 stdin, stdout 및 stderr에 대한 전체 추적 및 로깅을 가질 수 있습니다.

나는 '예상'을 사용하는 데 열려 있지 않습니다.

답변1

wget구조를 위해. wget파일 전송 및 로깅을 위해 설계되었습니다.

관련 정보