사이트를 새로운 서버로 미러링해야한다는 과제가 있습니다. 이전 사이트에는 필자가 내부적으로 볼 수있는 몇 가지 Perl 스크립트가 있습니다 (일반적으로 코딩에 대해 잘 알고 있지만 Perl에 대해서는 알지 못합니다. 특히 PHP/js/등)는 예전에 의존하지 않습니다. 섬기는 사람. 즉, 데이터베이스 파일을 통해 적절한 기사 파일을 찾는이 스크립트를 실행하려고하면 아무것도 검색되지 않습니다.펄 스크립트/dbm을 새 서버로 이동하고 dbm 밖으로 이동 하시겠습니까?
기본적으로,이 파일은 PAG 파일에서 파일 이름을 검색하여 표시 한 것으로, 기본적으로 오래된 CMS입니다. 나는 여기서 조금 잃어 버렸다. 미러링이 새 사이트에서 작동하지 않는 이유가 있습니까? 퍼미션을 체크했는데 Perl이 같은 /usr/etc 디렉토리에 설치되어 있는지 확인했습니다.
dbmopen(%ARTS, $art_dbm, 0644);
$entry = $ARTS{$article_id};
dbmclose(%ARTS);
그것은 바로, DBM해야합니다 : 나는 내가 다음과 같은 명령을 참조하면, according to another article 때문에 DBM을 사용하여 생각?
관련된 참고로, 엄청나게 정교한 Perl 스크립트없이 해당 PAG 파일의 정보를 원본 파일과 병합 할 수있는 방법이 있습니까? 별도로 저장하기보다는 파일 자체에 해당 정보가 포함 된 100 개의 텍스트 파일을 다시 만드십시오.
편집 : 아래의 첫 번째 답변에 감사드립니다. 그 해시가 무엇이겠습니까, 그리고 가면을 설명 할 수 있습니까? 필자는 .pag 파일 (데이터베이스 이름)이 실제로 .pl 파일에서 정의 된 위치에 있고 이진 파일로 전송되었다는 사실을 다시 확인했습니다. 아직 어쨌든 나는 그것을 정확하게 열 수 없습니다!
편집 3 : 좋아, 죄송합니다, 현재 최종 편집 : 나는 다이 코드 아래 (Shwern을)를 사용하고 거기에도 불구하고, 즉 DB 파일을 발견되지 않은 (두 파일이 articles.pag 및 기사 것을 발견했다. dir, 변수는 확장자가없는 "articles"만 참조) 올바른 권한과 올바른 권한으로 ... 여기서 질문은 이제 도대체 어떻게되고있는 것입니까? perl의 다른 버전입니까? 아니면 그냥 바보 같은 짓하고있는거야? 기록 (예, 그 끔찍한)을 위해 나는 아직 쉘 접근을하지 못했다. 그러나 나는 그것에 대해 연구 중이다 ... 나는 나의 "새로운 웹"기술 때문에 이것을 해달라는 요청을 받았으며, 나는 확실히 적절하지 않다. perl이나 dbm과 같은 사람이긴하지만 파일을 읽고 이해할 수는 있습니다. 마지막 제안으로서, 누군가는 ASCII 서버 덤프를 수행 할 원래 서버 사용자 (코더가 아닌)에게 어떻게 요청할 수 있는지 (스크립트 등) 알고 있습니까? 이걸 CSV로 가져 와서 파일로 다시 가져 와서 다른 DB에서 그것을 재사용 할 수 있어야합니다 ... 어쩌면 악몽일까요!