enclave
Goto Top

Shell Script - Dynamisches runterladen, entpacken und neupacken

Hallo alle zusammen,

ich schilder euch mein Problem und hoffe ihr könnt mir ein bisschen helfen da ich in Shell Scripting nicht grad nen Meister bin :D
Ich möchte das runterladen etc. nur auf eine Datei beziehen und das Script dann mit ne schon fertigen PHP Script erstellen. Dies soll für ein Downloadcenter von einem Freund sein der Maps des Spieles Counter Strike anbieten will (wir haben die Genehmigung des Anbieters die Files weiterzuverbreiten und von seinem Server zu holen)


Also ich habe auf einem Server eine zip datei --> www.beispiel.de/files/fun_allinone.zip

Diese will ich herunterladen und entpacken. Die Ordnerstruktur ist immer gleich:

- maps (immer vorhanden)
- sprites (nicht immer vorhanden - hat manchmal Unterordner)
- sound (nicht immer vorhanden - hat manchmal Unterordner)
- models (nicht immer vorhanden - hat manchmal Unterordner)
- gfx (nicht immer vorhanden - hat manchmal Unterordner)
- overvies (nicht immer vorhanden)

Im Ordner maps ist immer nur eine .bsp Datei. In den anderen Ordnern, wenn vorhanden, mehrere.

Ich will jetzt diese ganzen Dateien in einen Ordner schmeissen der genau so heisst wie die .bsp im Ordner Maps aber ohne die Endung .bsp. Dann sollen noch 2 Text Files dazu. Die Ordnerstruktur sollte jetzt so aussehen:

- <mapname>
- Install.txt
- Downloaded_from.txt

Diese 3 Sachen sollen jetzt in eine .zip gepackt werden (wenn möglich mit einer hohen Kompressionsstärke). Die Zip soll genauso heissen wie die Map ohne die Endung .bsp nun halt mit .zip.

Die URL zur Datei wird von Hand eingetragen und dann mit einem PHP Script vereinfacht. einmal die URL und dann nur noch die Dateinamen. Dann wird das Script zusammengebaut. Das Script ist schon fertig nur halt noch nich wo der die URL's einbauen soll...


Ist das machbar?

Ich habe schonmal angefangen die Maps auf meinen PC runterzuladen so zu packen und auf den Root zu laden. Doch mit meiner 1000er Leitung dauert das sehr lange da die Maps nen Durschnitt von 4 MB haben. Und es gibt mehr als 1000 Maps die da drauf sollen. Da habe ich mir gedacht das der Root das doch machen könnte das würde schnellere gehen und das kompriemieren sollte auch schnell gehen da der recht gute Hardware hat.

Ist es machbar sowas ohne großen Aufwand zu erstellen? Und würde mir jemand dabei helfen? Denn ich hab nicht besonders viel Plan davon...

Mfg & thx

Enclave

Content-Key: 50707

Url: https://administrator.de/contentid/50707

Ausgedruckt am: 28.03.2024 um 21:03 Uhr

Mitglied: michastgt
michastgt 06.02.2007 um 11:01:31 Uhr
Goto Top
Hallo Enclave,

klar geht das.
Wenn du eine Trafficflat hast, sehe ich da gar kein Problem.
Mann könnte vom Ziel Server ein entprechenden Unterordner auf deinen Server spiegeln.
Von dort aus nach Ordnern suchen, verschieben und zippen, und dann bereit stellen.

So stelle ich mir das Persönlich vor...
Gruss


Micha
Mitglied: Enclave
Enclave 06.02.2007 um 15:37:46 Uhr
Goto Top
Hi Micha,

erstmal danke für die Antwort.

Der Root hat eine Traffic Flat und der von dem wir das runterladen auch. Ich könnte auch den Filenamen mit dem PHP Script erstellen. Das einzige Problem was ich habe:

entzippen - die Ordner in einen Ordner schmeissen (name kann ich schon mit dem Script machen) - das wieder mit 2 Dateien zippen.

Also wenn mir jemand das jemand scripten kann wär das genial. Ist ja nicht soviel, oder?

Mfg

Enclave
Mitglied: michastgt
michastgt 06.02.2007 um 15:40:28 Uhr
Goto Top
Hy du,

also wenn es darum geht:

1. Suche nach datei
2. Zippe datei
3. Verschiebe sie nach y x oder z
das sollte auf shellebene kein thema sein, nur tue ich mir da immer etwas schwer sowas auf eine php oberlfäche einzubinden *g*

Aber ansonsten versuche ich dir zu helfen.

Gruss
Mitglied: Enclave
Enclave 06.02.2007 um 21:12:18 Uhr
Goto Top
Wie gesagt das PHP Script erstellt nur das Script für die große Anzahl. Ich brauch das Script nur für eine Datei den Rest lass ich das Script erstellen.

Wäre nett wenn du mir helfen könntest...

Ich muss halt:

- eine bestimmte Datei runterladen (Pfad per Script fertig eingebunden)
- entpacken
- alle Dateien in einen Ordner packen (Name per Script schon fertig)
- packen mit 2 Dateien

fertig die einzige Variable ist dann halt nur das bis auf einen Ordner alle nur vielleicht vorhanden sind.

Mfg

Enclave