SSH를 통한 원격 실행이 링크를 따르지 않습니까?

SSH를 통한 원격 실행이 링크를 따르지 않습니까?

ssh server ls /var/lib/edumate/backup/weekly/*DBB*파일을 반환하다

/var/lib/edumate/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120610020013.001 

그러나 ssh server ls /data/backup/weekly/*DBB*마운트 링크 디렉터리의 내용을 반환합니다.

/data/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120513020022.001
/data/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120520020018.001
/data/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120527020019.001
/data/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120603020028.001
/data/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120610020013.001
/data/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120710120854.001

/data다른 파티션의 위치

/dev/sdb2 on /data type ext3 (rw,acl,user_xattr)

백업은 심볼릭 링크입니다./data/backup

lrwxrwxrwx 1 root     root       12 Jul 10 14:27 backup -> /data/backup/

물론 설치/링크된 디렉터리에서 파일 목록을 찾고 있습니다. 해결 방법이 무엇입니까어떻게 /var/lib/edumate/backup사용하나요 ?ls연결된 것 대신에? scp똑같이 행동 할까요 ?

답변1

내 추측으로는 실행 중인 클라이언트 시스템에 ssh이라는 디렉토리도 있다는 것입니다 /var/lib/edumate/backup/weekly. 이를 실행하면 클라이언트 시스템의 디렉터리에는 파일이 하나만 포함됩니다. 하지만 이제 여기에는 여러분이 기대하는 모든 파일이 포함되어 있습니다.

무슨 일이 일어나고 있는지는 서버 대신 클라이언트 시스템에서 와일드카드 일치가 발생한다는 것입니다. 그 당시에는 아마도 파일이 하나만 있었을 것입니다. 따라서 서버가 명령으로부터 수신하는 내용은 다음과 같습니다.

ls /var/lib/edumate/backup/weekly/DBB.0.db2inst1.NODE0000.CATN0000.20120610020013.001

앞으로 이런 일이 발생하지 않도록 하려면 따옴표를 사용하여 명령을 실행하세요. 예:

ssh server ls "/var/lib/edumate/backup/weekly/*DBB*"

그런 다음 와일드카드 문자는 클라이언트 시스템의 셸에 의해 확장되지 않고 서버로 전달됩니다.

관련 정보