• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Batch Datei erstellen

mark1979

Newbie
Hi,

ich habe da mal eine Frage.Ich nutze einen VServer der Firma 1und1. Ich möchte mit einer Batch Datei ein Typo3 schnell installieren können.

Gibt es die Möglichkeit die unten genannten Befehle als batch Datei zu starten? wie erstelle ich so etwas unter Linux?

rm -R *
wget http://mesh.dl.sourceforge.net/sourceforge/typo3/typo3_src-4.0.4.tar.gz http://mesh.dl.sourceforge.net/sourceforge/typo3/dummy-4.0.4.tar.gz
tar xzf dummy-4.0.4.tar.gz
tar xzf typo3_src-4.0.4.tar.gz
cd dummy-4.0.4/
mv * /srv/www/vhosts/xxx/httpdocs/
cd ..
rm -R dummy-4.0.4/
rm *.gz
rm typo3_src
ln -s typo3_src-4.0.4/ typo3_src
chgrp -R psaserv fileadmin/ typo3conf/ typo3temp/ uploads/ typo3_src-4.0.4/typo3/ext/
chmod -R 0775 fileadmin/ typo3conf/ typo3temp/ uploads/ typo3_src-4.0.4/typo3/ext/
chown -R xxxuser fileadmin/ typo3conf/ typo3temp/ uploads/ typo3_src-4.0.4/typo3/ext/
vi typo3/install/index.php
 

Grothesk

Ultimate Guru
Pack das in eine Datei und mach die ausführbar.
Zwar kein gute Stil, funktioniert aber.

Der Kopf sollte so aussehen:
Code:
#!/bin/bash
#Programm installationsskript
 
OP
M

mark1979

Newbie
Wärst Du so lieb und erklärst mir genau wie ich eine Datei ausführbar mache!

Ich denke ich fange an mit:

vi typo3install.bat

dann die ersten zeielen
#!/bin/bash
#Programm installationsskript

und dann meine zeilen.

Warte Linux eigentlich die Befehle ab, bis jeder fertig ist?
 

Grothesk

Ultimate Guru
Ausführbar machst du die Datei mich 'chmod +x Datei'
*.bat ist übrigens total unüblich. Brauchst keine Dateiendungen.
 

regexer

Advanced Hacker
mark1979 schrieb:
Warte Linux eigentlich die Befehle ab, bis jeder fertig ist?
Ja. Allerdings wird nicht standardmäßig geprüft, ob der vorhergehende Befehl erfolgreich abgeschlossen wurde. Zum Beispiel kann wie erwähnt die scriptzeilen
Code:
cd /verzeichnis
rm *
sehr gefährlich sein. Angenommen der Befehl cd läuft auf einen Fehler: egal das script macht munter weiter und löscht alle Dateien im aktuellen Verzeichnis. Deswegen ist folgendes besser:
Code:
cd /verzeichnis && rm *
&& bedeutet: Führe den folgenden Befehl nur aus wenn der vorangehende erfolgreich war. In diesem Fall geht es natürlich auch mit absoluten Pfadangaben, aber ich wollte nur demonstrieren, dass man immer auch an den Fehlerfall denken sollte.
 
OP
M

mark1979

Newbie
Also erstmal danke ich euch, dass Ihr mir so bei Seite steht.

also ich gehe nun so vor:


dann gebe ich das hier ein. Ist es richtig wenn ich && vor jede Zeile setze, dass er den vorherigen Befehl erstausführt und dann erst weitergeht.

#!/bin/bash
#Programm installationsskript

cd /srv/www/vhosts/xxx/httpdocs/ && rm -R *
&& wget http://mesh.dl.sourceforge.net/sourceforge/typo3/typo3_src-4.0.4.tar.gz http://mesh.dl.sourceforge.net/sourceforge/typo3/dummy-4.0.4.tar.gz
&& tar xzf dummy-4.0.4.tar.gz
&& tar xzf typo3_src-4.0.4.tar.gz
&& cd dummy-4.0.4/
&& mv * /srv/www/vhosts/xxx/httpdocs/
&& cd ..
&& rm -R dummy-4.0.4/
&& rm *.gz
&& rm typo3_src
&& ln -s typo3_src-4.0.4/ typo3_src
&& chgrp -R psaserv fileadmin/ typo3conf/ typo3temp/ uploads/ typo3_src-4.0.4/typo3/ext/
&& chmod -R 0775 fileadmin/ typo3conf/ typo3temp/ uploads/ typo3_src-4.0.4/typo3/ext/
&& chown -R xxxuser fileadmin/ typo3conf/ typo3temp/ uploads/ typo3_src-4.0.4/typo3/ext/
&& vi typo3/install/index.php

Dann noch ein

chmod +x Typo3install

Wenn ich nun Typo3install eingeben sollte macht er das?
 
mark1979 schrieb:
Ich wusste nicht, dass es schlimm ist, wenn ich in einem anderem Forum auch poste.

Dann vergleichen wir mal:
Grothesk schrieb:
Pack das in eine Datei und mach die ausführbar.
drcux schrieb:
alles in eine textdatei und ausführbar machen...

suck schrieb:
und pass ja auf, dass Du das Script (die Batch-Datei) nicht aus dem falschen Verzeichnis aus aufrufst! das "rm -R *" in der ersten Zeile kann da dann doch recht ärgerlich sein.
b3ll3roph0n schrieb:
Ein rm -R * im falschen Startverzeichnis ....

Jear_Man schrieb:
ein
#!/bin/bash
in der ersten Zeile wäre auch noch angebracht...
Grothesk schrieb:
Der Kopf sollte so aussehen:
Code:
#!/bin/bash 
#Programm installationsskript

Würden die voneinander wissen und die Postings in den jeweils anderen Foren kennen wird Doppelarbeit vermieden.
[...]
Ist das effektive Nutzung von Resourcen der Community? Nein! Deshalb sind Multipostings verpöhnt!
=> Multiposting und Crossposting - Warum mag die keiner ?

Und außerdem ist ein Multiposting verdammt unhöflich.
 

regexer

Advanced Hacker
mark1979 schrieb:
Ist es richtig wenn ich && vor jede Zeile setze, dass er den vorherigen Befehl erstausführt und dann erst weitergeht.
Ehrlich gesagt nein! Erstens muss das && eher hinten hin. Und zweitens führt die Shell auch so den Befehl erst aus, und dann geht es weiter. Nur ist es der Shell egal, ob der vorherige Befehl erfolgreich war oder nicht. Und das kann in manchen Fällen entscheidend sein. Und dann würde ich das && einsetzen.
 
Oben