Hi Leute!
Ich versuche ja schon von Zeit zu Zeit mich intensiver mit Shell-Scripting zu befassen. Hier und da hab ich schon einfache Scripte geschrieben, aber jetzt ist es an der Zeit, wo ich ein etwas komplexeres Script schreiben darf. Konkret geht es um folgendes:
Ein Verzeichnis soll jede Stunde überprüft werden. Befinden sich in diesem Verzeichnis Dateien, die nicht auf *.tmp enden, dann soll mit dieser Datei ein Befehl ausgeführt werden. Sobald dieser Befehl dann ausgeführt ist, muss die Datei in ein anderes Verzeichnis geschoben bzw. gelöscht werden.
Grundsätzlich ja auch keine schwierige Angelegenheit, aber für jemanden, der mit Shell-Scripting noch nicht wirklich viel Erfahrungen hat (Programmierung an sich kein Thema), kann es zu einer kleinen großen Hürde werden.
Mich würde eigentlich nur folgendes interessieren: wie öffnet man Verzeichnisse, Dateien, etc.? Wie durchsucht man Verzeichnisse? Grundlegende Dateioperationen. Ich hatte mal vor einiger Zeit ein schönes Tutorial zum Thema Shell-Scripting gefunden, aber das find ich nicht und damals dachte ich mir, das brauch ich eh nicht.
Ansonsten spuckt Google für mich auch nicht wirklich brauchbare Ergebnisse aus.
Habt ihr da Empfehlungen für mich?
Danke & viele Grüße,
Martin
P.S.: Bitte keine fertigen Lösungen, sonst lern ichs wieder nicht Und der Spaß wär weg
Shell Scripting anhand eines konkreten Beispiels lernen
Re: Shell Scripting anhand eines konkreten Beispiels lernen
Vielleicht kann dir ein Blick in dieses Openbook weiterhelfen: http://www.galileocomputing.de/openbook/linux/
Oh, yeah!
Re: Shell Scripting anhand eines konkreten Beispiels lernen
Hallo Martin,
wenn du mit Programmierung an sich keine Probleme hast wäre vielleicht eine Referenz das Beste. Sowas findet sich leicht über google.
Ausserdem solltest du dir überlegen in welcher Sprache du das ganze bewerkstelligen möchtest. Perl oder Python würden sich da natürlich anbieten, wobei ich deinen Worten entnehme dass du Bash verwenden möchtest.
Mir würde da gerade http://www.ibm.com/developerworks/library/l-bash.html einfallen wenn es um Tutorials geht. Vielleicht kann dir auch so etwas wie http://www.galileocomputing.de/openbook/unix_guru/ weiterhelfen.
Ich hoffe dass du damit weiter kommst. Lass uns wissen welchen Weg du gegangen bist.
Gruß,
schasi
wenn du mit Programmierung an sich keine Probleme hast wäre vielleicht eine Referenz das Beste. Sowas findet sich leicht über google.
Ausserdem solltest du dir überlegen in welcher Sprache du das ganze bewerkstelligen möchtest. Perl oder Python würden sich da natürlich anbieten, wobei ich deinen Worten entnehme dass du Bash verwenden möchtest.
Mir würde da gerade http://www.ibm.com/developerworks/library/l-bash.html einfallen wenn es um Tutorials geht. Vielleicht kann dir auch so etwas wie http://www.galileocomputing.de/openbook/unix_guru/ weiterhelfen.
Ich hoffe dass du damit weiter kommst. Lass uns wissen welchen Weg du gegangen bist.
Gruß,
schasi
Re: Shell Scripting anhand eines konkreten Beispiels lernen
Hallo,
ich hatte vor Jahren mal ein Buch zum Thema Shell-Programmierung ausgeliehen, was ich sehr interessant fand, weil es mit einem (erst kleinen) Beispiel anfing und dieses Beispiel wurde dann im
Buch immer weiter ausgebaut; neues Lernthema - Ausbau des Beispieles (es war - glaube ich - eine Adressdatenbank). Und so zog sich dieses Beispiel durch das ganze Buch (in meiner Erinnerung jedenfalls). Ich glaube, das es dieses Buch war:
http://www.amazon.de/Shell-Programmieru ... 3826681363
Es behandelt auch ausführlich Datei/Verzeichnisoperationen.
ich hatte vor Jahren mal ein Buch zum Thema Shell-Programmierung ausgeliehen, was ich sehr interessant fand, weil es mit einem (erst kleinen) Beispiel anfing und dieses Beispiel wurde dann im
Buch immer weiter ausgebaut; neues Lernthema - Ausbau des Beispieles (es war - glaube ich - eine Adressdatenbank). Und so zog sich dieses Beispiel durch das ganze Buch (in meiner Erinnerung jedenfalls). Ich glaube, das es dieses Buch war:
http://www.amazon.de/Shell-Programmieru ... 3826681363
Es behandelt auch ausführlich Datei/Verzeichnisoperationen.
- Stratovarius
- Beiträge: 297
- Registriert: 07.04.2004 13:00:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: 53° 27' 20,31'' N 9° 57' 29,31'' E
-
Kontaktdaten:
Re: Shell Scripting anhand eines konkreten Beispiels lernen
Wenn es auch in englisch sein darf: http://www.freeos.com/guides/lsst/
Sehr ausführlich und umfangreich.
Gruß
Strato
Sehr ausführlich und umfangreich.
Gruß
Strato
- duese
- Beiträge: 651
- Registriert: 12.07.2006 15:27:20
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Re: Shell Scripting anhand eines konkreten Beispiels lernen
Wenn kein Skript notwendig sein muss oder in Verbindung mit Deinem speziellen Skript, hilft vielleicht incron weiter.
Vielleicht musst Du dann nicht Teile des Rades neu erfinden.
Gruß,
Thomas
Vielleicht musst Du dann nicht Teile des Rades neu erfinden.
Gruß,
Thomas
Re: Shell Scripting anhand eines konkreten Beispiels lernen
Hi!
Erstmal möchte ich mich bei euch allen bedanken. Es ist unglaublich, was ich gestern und heute gelernt habe. Ich konnte von allen Links ein wenig was gebraucht, wobei mir eine Referenz über Google doch noch am meisten geholfen hat.
Das Skript läuft bereits und wurde schon erfolgreich getestet. Es wird jetzt stündlich ein Verzeichnis auf bestimmte Dateien durchsucht, sind diese vorhanden wird ein dazu passendes SQL-Skript ausgeführt auf einem entfernten MySQL-Server. Sobald der Befehl erfolgreich ausgeführt wurde wird die entsprechende Datei aus dem Verzeichnis gelöscht und in ein Sicherungsverzeichnis geschoben, welches wiederum wöchentlich gezippt wird.
Sollte allerdings ein Fehler auftreten, wird eine E-Mail an die entsprechenden Personen mit einem Hinweis und dem Logfile geschickt.
Und das alles mit nur einem "kleinem" Shell-Skript
Ich danke euch allen nochmal recht herzlich!
Viele Grüße,
Martin
Erstmal möchte ich mich bei euch allen bedanken. Es ist unglaublich, was ich gestern und heute gelernt habe. Ich konnte von allen Links ein wenig was gebraucht, wobei mir eine Referenz über Google doch noch am meisten geholfen hat.
Das Skript läuft bereits und wurde schon erfolgreich getestet. Es wird jetzt stündlich ein Verzeichnis auf bestimmte Dateien durchsucht, sind diese vorhanden wird ein dazu passendes SQL-Skript ausgeführt auf einem entfernten MySQL-Server. Sobald der Befehl erfolgreich ausgeführt wurde wird die entsprechende Datei aus dem Verzeichnis gelöscht und in ein Sicherungsverzeichnis geschoben, welches wiederum wöchentlich gezippt wird.
Sollte allerdings ein Fehler auftreten, wird eine E-Mail an die entsprechenden Personen mit einem Hinweis und dem Logfile geschickt.
Und das alles mit nur einem "kleinem" Shell-Skript
Ich danke euch allen nochmal recht herzlich!
Viele Grüße,
Martin