Gibt's vielleicht dafür auch eine Lösung, so dass ich definieren kann, was NICHT entpackt werden soll bzw. was nicht überschrieben werden soll?
TYPOlight schneller auf Webspace hochladen
Einklappen
X
-
Pattern könnte man auf "system/config/" oder sogar "system/config/(local|lang|dca)config.php" (ungetestet, "system/config/*?config.php" sollte aber funktionieren) setzen.Code:--exclude=PATTERN
Wie immer benutzen:Code:man tar
So long,
FloB since Nov. 2007 +706P +115P and counting
Kommentar
-
Hi FloB,Zitat von FloB Beitrag anzeigenDie Lösung für die "Bequemen":Somit lautet der Befehl:Code:Option "--strip-components N": Strip the given number of leading directory components
Code:tar -xzf typolight-2.*.*.tar.gz -C /zielpfad/zur/typolight/intallation/ --strip-components 1
die Ide von Dir war genial.
Ich hab es bei mir nun so gelöst, dass die Files direkt in den Ordner entpackt werden, in dem ich die php-Datei starte.
PHP-Code:<?php shell_exec("wget http://prdownloads.sourceforge.net/typolight/typolight-2.7.2.tar.gz?download"); shell_exec("tar -xzf typolight-2.7.2.tar.gz --strip-components 1"); ?>
🙏 1Kommentar
-
Also bei mir klappt das auch bestens danke für die super Hinweise
mein Befehl sieht nun so aus
tar -xzf typolight-2.7.2.tar.gz --strip-components 1 --exclude="system/config/*?config.php"
@Flob
danke für den Hinweis mit exclude und strip-componentsZuletzt geändert von schman; 10.07.2009, 11:16.Kein Privat Support via PM.
Kommentar
-
Huhu,
ich wollte zu all-inkl anmerken, daß es "doch" geht
http://all-inkl.com/index.php?open=faq&sek=wichtigZitat von all-inkl.com5.) Wie kann ich die Funktionen exec(), system() oder shell_exec() nutzen?
Um diese Befehle in einem Script nutzen zu können, sollten Sie auf die CGI Variante von PHP umschalten, da diese im normalen PHP-Betrieb aus Sicherheitsgründen gesperrt sind. Sie haben dazu folgende Möglichkeiten:
A) Sie geben der betreffenden Datei die Endung .phpx
B) Sie erstellen eine Datei mit dem Namen .htaccess (mit Punkt vorn und ohne Endung) in dem Verzeichnis, in dem Dateien über PHP-CGI ausgeführt werden sollen. Schreiben Sie in diese Datei folgenden Befehl und speichern Sie sie anschließend ab: AddHandler php-fastcgi .php
Bitte beachten Sie, dass bei PHP-CGI strengere Restriktionen für Ressourcen gelten. Sie sollten daher möglichst nicht die gesamte Seite auf PHP-CGI laufen lassen, da bei komplexeren Operationen die Prozesse abgebrochen werden können.
Grüße,
Marc
Edit: Sorry, zu früh gefreut.. wget geht natürlich nicht
Edit 2: curl auch nicht :|
Edit 3: curl hat es anscheinend doch - aber es funktioniert nicht… mal den Support anschreiben ^^
Edit 4: HEUREKA! Mit mgcos Hilfe habe ich es nun hinbekommen auch bei all-inkl.com tl herunter zu laden und zu entpacken!
Hier der PHP-Code (es ist eine normale php-Datei, keine phpx (wird nicht benötigt)):
Edit 5: Es muss unbedingt ein Server (in diesem fall surfnet) angegeben werden, da die all-inkl-Server irgend ein Problem mit der Weiterleitung von sourceforge haben, d.h. bei neueren Versionen darauf achten!PHP-Code:<?php $curl = curl_init(); $file = fopen("typolight.zip", "w"); curl_setopt($curl, CURLOPT_URL, "http://surfnet.dl.sourceforge.net/sourceforge/typolight/typolight-2.7.2.zip"); curl_setopt($curl, CURLOPT_FILE, $file); curl_exec($curl); curl_close($curl); fclose($file); echo "Download Ok!"; sleep(20); $zip = new ZipArchive; $zip->open('typolight.zip'); $zip->extractTo('./'); $zip->close(); echo "Entpacken Ok!"; ?>Zuletzt geändert von marcules; 08.07.2009, 17:31.Auch im IRC unterwegs
Kommentar
-
Damit zerschießt du dir aber eher deine Extensions, und die Kofigurationsdateien werden auch überschriebenZitat von schman Beitrag anzeigentar -xzf typolight-2.7.2.tar.gz --strip-components 1 --exclude="system/modules/*?config.php"
. Im Pfad nicht "modules" sondern "config" verwenden!
So long,
FloB since Nov. 2007 +706P +115P and counting
Kommentar
-
Ja das ist klar, habs nur hier falsch beschriebenZitat von FloB Beitrag anzeigenDamit zerschießt du dir aber eher deine Extensions, und die Kofigurationsdateien werden auch überschrieben
. Im Pfad nicht "modules" sondern "config" verwenden!
Kein Privat Support via PM.
Kommentar
-
Hi,
wenn ich dies schreibe
tar -xzf typolight-2.7.2.tar.gz --strip-components 1 --exclude="system/config/*?config.php
werden die daten in der /config/ nicht überschrieben. Was mach ich, wenn ich zusätzlich noch Daten wie z.B. basic.css welche im Hauptverzeichnis liegt auch nicht mitüberschrieben haben möchte?LG, Andi
Kommentar
-
Wenn du mehrere Ausnahmen hast, würde ich mit "--exclude-file" arbeiten. Hier werden die Ausnahmen in eine Datei geschrieben, pro Zeile eine. Per Parameter wird diese Datei dann geladen (siehe immernoch `man tar`). Eventuell geht es auch, wenn du eine neue Zeile in den Parameterstring einbaust:Zitat von m-werk Beitrag anzeigenWas mach ich, wenn ich zusätzlich noch Daten wie z.B. basic.css welche im Hauptverzeichnis liegt auch nicht mitüberschrieben haben möchte?
Code:tar -xzf typolight-2.7.2.tar.gz --strip-components 1 --exclude="system/config/*?config.php *.css"
So long,
FloB since Nov. 2007 +706P +115P and counting
Kommentar
-
@marcules
Habe auch ein Hosting bei All-Inkl und würde gerne wissen, ob das von Dir gepostete Skript mittels curl-Abfrage so nun funktioniert?
Wäre es in diesem Zusammenhang auch möglich, das Skript so zu ergänzen bzw. anzupassen, dass z.B. einerseits die Konfigurationsdateien im Config-Verzeichnis nicht überschrieben werden und andererseits das Entpacken sämtlicher Dateien der Demo "Musicacademy" (CSS, tl_files, Template usw.) übersprungen werden?
Wie müsste man denn das Skript umbauen, wenn man anstelle des Zip-Archivs das Tarball-Archiv verwenden möchte (inkl. der oben genannten Ausnahmeregeln)?
Kommentar
-
Also ich baue mir meine Typolight-Setups immer Lokal zusammen, damit ich die dann auch testen und mit Plugins versehen kann. Das Hochladen geht bei mir in wenigen Schritten:
Zuerst wird die Datenbank gepackt und ins Templateverzeichnis geschrieben. Anschließend schmeiß ich alles weg, was ich von der Standardinstallation nicht brauche (Accadamy-Samples, etc.). Am Ende packe ich das gesamte Verzeichnis als ZIP und schiebe es mit "packaus.php" (s.u.) auf den Server. Das rufe ich dann dort auf und lass es das TL-Paket auspacken.
Abschließend noch das TL-Setup aufrufen, die Datenbank-Pfade anpassen, Template importieren. Fertig.
Ob das Progrämmchen überall funktioniert, keine Ahnung. Bei mir hat es das bisher immer.
Grüße
NoSi
P.S. Nutzung des Tools auf eigene Gefahr, kein Support, keine Gewähr!Angehängte Dateien
Kommentar
-
@NoSi
cool, danke, das erste was bei mir funktioniert. Jetzt muss ich mal schnell auf den Code sehen.
Bitte!
Vor Anfragen im Forum HTML validieren.
Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.
Vielen Dank an alle Wunschlistenerfüller
Andreas Burg, Web Solutions
Kommentar
-
Kurzum - jaZitat von xchs Beitrag anzeigenHabe auch ein Hosting bei All-Inkl und würde gerne wissen, ob das von Dir gepostete Skript mittels curl-Abfrage so nun funktioniert?
Äh - Prinzipiell müsste das gehen. Ich hab nur keine Ahnung wie - das Skript ist größtenteils auf mgcos Mist gewachsen *g (Mist im positiven SinnZitat von xchs Beitrag anzeigenWäre es in diesem Zusammenhang auch möglich, das Skript so zu ergänzen bzw. anzupassen, dass z.B. einerseits die Konfigurationsdateien im Config-Verzeichnis nicht überschrieben werden und andererseits das Entpacken sämtlicher Dateien der Demo "Musicacademy" (CSS, tl_files, Template usw.) übersprungen werden?
)
Von daher, daß exec und Konsorten auf all-inkl nur in der cgi-Umgebung laufen, würde ich davon abraten das tarball zu verwenden... wenn du es verwenden willst musst du einfach einen der oben genannten shell_exec() oder system() tar-Befehle verwenden. Aber dann auch in der cgi-Umgebung, d.h. entweder du nennst die Datei .phpx oder du änderst in der .htaccess die Standardphpversion.Zitat von xchs Beitrag anzeigenWie müsste man denn das Skript umbauen, wenn man anstelle des Zip-Archivs das Tarball-Archiv verwenden möchte (inkl. der oben genannten Ausnahmeregeln)?
Grüße,
MarcAuch im IRC unterwegs
Kommentar
-
Hallo marcules,
ok, alles klar. Vielleicht kann uns bei etwaigen weiteren Anpassungen mgco3 weiterhelfen...
Wenn Du, so wie ich, ein Hosting unter All-Inkl.com hast, dann nehm' ich mal an, dass Du (um den SMH nicht verwenden zu müssen) eh auch das PHP-Modul im FastCGI-Modus betreibst (mittels Umschaltung in der .htaccess). Oder verwendest Du stattdessen den SMH?
Kommentar
-
Ne - ich wechsle einfach bei den Ordnern, Unterordnern und Dateien den Besitzer auf php - das hat bisher immer gut geklapptZitat von xchs Beitrag anzeigenOder verwendest Du stattdessen den SMH?
MarcAuch im IRC unterwegs
Kommentar
Kommentar