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*"
그런 다음 와일드카드 문자는 클라이언트 시스템의 셸에 의해 확장되지 않고 서버로 전달됩니다.