친애하는 Stackoverflowers을 XML을 구문 분석하고 특정 URL에서 파일을 다운로드 다른 컴퓨터로 전송하기 : 내가 미리 정의를 다운로드 할 수 있도록 마스터 컴퓨터가 필요합니다 : 스크립트
나는 다음과 같은 작업을 수행하는 네 종류의 도움이 필요합니다 그런 다음 XML 파일을 구문 분석합니다. 사용 가능한 정보가 있으면 스크립트는 웹 서버에서 정기적으로 다운로드 할 올바른 파일을 식별해야합니다. 마지막으로이 파일은 동일한 LAN에서 인터넷에 접속하지 않고 다른 컴퓨터로 옮겨 져서 주어진 위치로 추출해야합니다. 그러나 나는 한계가있다. PHP를 사용하여이 작업을 수행 할 수 없기 때문에 거기에 아무 것도 설치할 수 없다. 필자는 MD5sums를 통해 이것을 제안했지만 파일을 마스터 컴퓨터에 다운로드 할 수 있도록 주어진 요일과 시간을 제공해야하고 슬림 한 터미널로 전송할 시간과 요일을 별도로 지정해야합니다.나는 그 때 질문 할 것이다. 감사!
이 나는이 XML 설계했습니다
<?xml version="1.0"?>
<updateXML id="subdirectory1">
<file>
<tarname>compressedFile.tar.gz</tarname>
<name>fileInsideName</name>
<filExtension>.ext</filExtension>
<url protocol="http://">someurl.com/mainDirectory</url>
</file>
<update>
<download>2012-02-02T03:00:00.00000</download>
<copyTo terminal="1">2012-02-02T09:00:00.00000</copyTo>
</update>
</updateXML>
그리고이 작업 XML 스키마 (XSD)
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="updateXML">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="file" minOccurs="1" maxOccurs="unbounded">
<xsd:complexType>
<xsd:all>
<xsd:element name="tarname" type="xsd:string"/>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="filExtension" type="xsd:string"/>
<xsd:element name="url">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="protocol" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="update" minOccurs="1" maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="download" type="xsd:dateTime" />
<xsd:element name="copyTo">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="terminal" type="xsd:int" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
내가 연구 한을 나는 xmllint가이 XML 파일을 구문 분석 할 수 있습니다 발견했습니다. 여기에 문제가 없습니다 :
$ xmllint --noout --schema updatemenus.xsd updatemenus.xml
updatemenus.xml validates
나는 주어진 작업을 수행하는 데 도움이 될 수있는 프로세스에서 생각했습니다. 제 제안 단계가 정확한지 말해주세요 :
- XML을 생성하고 XSD로 확인하십시오.
- 마스터 컴퓨터에 다운로드하고 거기서 구문 분석하십시오. 사용 가능한 정보를 사용하여 다운로드 할 전체 URL을 작성하십시오.
- 일단 새로운 XML이 가능한 경우 LAN
- 확인에 필요한 단자에 보안 복사본을 다운로드하고 그것을 (크론 과정?)
당신이 올바른 생각하십니까 다운로드? 그렇다면 지금 내 XML이 유효하다는 걸 어떻게 알았지? = '/ 어떻게 정보를 사용할 수 있습니까 ?? 나는 XMLlint와 XPath가 처음이다. 내가 지금 무엇을 할 수 있을까???
고마워요.
FTP를 사용할 수 있습니까? 어떤 플랫폼을 사용하고 계십니까? CRON 또는 예약 된 작업을 사용할 수 있습니까? – mmcglynn
@ mmcglynn 답변 해 주셔서 감사합니다;) FTP 할 수 없습니다. 다운로드 할 파일과 XML은 웹 서버에 있어야합니다. 나는 Linux Ubuntu에서 일하고있다. (슬림 한 클라이언트는 Lubuntu를 가지고있다.)마스터 컴퓨터에서 사용할 수있는 crons 작업이 있습니다 (가운데 하나!) 그리고이 모든 작업은 cron 작업을 통해 이루어져야합니다./나는 정말로 단서가 있습니다. = ( – Metafaniel
CRON은 더 복잡해 보입니다. – mmcglynn