명령을 사용하여 파일 이름을 가져올 때 SCP가 작동하지 않습니다.

명령을 사용하여 파일 이름을 가져올 때 SCP가 작동하지 않습니다.

백업 가져오기 스크립트를 자동화하려고 합니다.

이를 위해 다음 명령을 사용하여 마지막 백업 파일 이름을 가져옵니다.

BACKUP_NAME=$(ssh [email protected] "ls -w1 /mnt/prod_backup" | tail -1)

그런 다음 사용합니다.

scp -3 user@$YY.YY.YY.YY:/mnt/prod_backup/$BACKUP_NAME /home/coldstorage_import/

로컬 데이터베이스를 복원하는 데 사용할 수 있도록 파일을 다운로드하려고 합니다.

하지만 다음 오류가 발생합니다.

: No such file or directoryackup/backup_prod_2021-11-29-03-00-01.sql

패치 오류가 잘못된 것 같습니다.

파일 이름을 수동으로 복사/붙여넣기하여 파일을 다운로드하려고 하면 명령이 작동합니다.

내 추측으로는 어딘가에 특수/숨겨진 캐릭터가 있을 수도 있지만 알아낼 수는 없습니다.

편집하다:

이 명령을 실행할 때 숨겨진 문자를 확인해보세요

echo $BACKUP_NAME | cat -v

알겠어요

bizstore_backup_prod_2021-11-16-03-00-01.sql^M

^M정상적인 것인지 잘 모르겠습니다 .

답변1

-t명령에서 제거 ssh하면 ^M파일 이름에 표시되지 않습니다.

BACKUP_NAME="$(ssh [email protected] "ls -w1 /mnt/prod_backup" | tail -1)"

관련 정보