![](https://seccdn.libravatar.org/avatar/ccd822a008e9e0dcba60a679278662cd.jpg?s=120&d=mm&r=g)
Guten Tag MailingListe Opensuse, Ich möchte ein bashscript schreiben, welches in einem ordner wacht und wenn dort jpg's drin sind, diese dann automatisch nach png konvertiert und auch kleiner skaliert. Prinzipiell klappt der aufruf zum skalieren ( for datei ...) aber bei der bedingung hapert es bei mir: wie bekomme ich es hin, das automatisch erkannt wird, das bilder dort drin sind und das dann übergeben wird? Das habe ich mir bisher gebaut: if [ find /srv/smb/daten/__convert__/ -type f -name "*.jpg" $0 ] then for datei in $0 do convert -resize 180x240 "$datei" "180x240$datei.png" done else echo "Fehler: keine Datei vorhanden" exit fi Wie gesagt, der Aufruf bei then alleine klappt. allerdings muss ich das ja immer manuell aufrufen. deswegen dachte ich das ganze mit if zu machen und bei der bedingung "find" zu nehmen, welches im angegebene ordner sucht und das ergebnis dann nach $0 übergibt und dieses wiederum dann bei "then" ankommt. Ein aufruf ergibt momentan das hier: sh convert.sh convert.sh: line 8: [: too many arguments Fehler: keine Datei vorhanden Was ist dann beim if falsch ? -- Mit freundlichen Grüßen Sebastian Gödecke mailto:simpsonetti@googlemail.com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
![](https://seccdn.libravatar.org/avatar/ebe9e7470f033d101415722d029f0b24.jpg?s=120&d=mm&r=g)
Am Donnerstag 09 Juli 2009 16:05:22 schrieb Sebastian Gödecke:
Guten Tag MailingListe Opensuse,
Ich möchte ein bashscript schreiben, welches in einem ordner wacht und wenn dort jpg's drin sind, diese dann automatisch nach png konvertiert und auch kleiner skaliert.
Prinzipiell klappt der aufruf zum skalieren ( for datei ...) aber bei der bedingung hapert es bei mir: wie bekomme ich es hin, das automatisch erkannt wird, das bilder dort drin sind und das dann übergeben wird?
Das habe ich mir bisher gebaut:
if [ find /srv/smb/daten/__convert__/ -type f -name "*.jpg" $0 ] then for datei in $0 do convert -resize 180x240 "$datei" "180x240$datei.png" done else echo "Fehler: keine Datei vorhanden" exit
fi
wie wär's mit einem cron-job man cron da kann man beleibiege Kommands automatisch zu einem oder mehreren Zeitpunkten automatsich starten lassen. Es gibt aber die Möglichkeit per Systemaufrufe informieren zu lassen, wenn sich eine Datei oder Verzeichnis ändern. Man kann das Programm in einer endloschleife laufen lassen. Aber man sollte sich gelegentlich "schlafen" legen: man sleep sonst "frisst" das Programm die ganze CPU-Zeit und das system steht still while true do find /srv/smb/daten/__convert__/ -type f -name "*.jpg" | while read f do convert -resize 180x240 "$f" "180x240$f.png" done sleep 10 done Bye Jürgen ...... -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
![](https://seccdn.libravatar.org/avatar/033ce8f4aba80090450f8467d9cd5e02.jpg?s=120&d=mm&r=g)
Am Donnerstag, 9. Juli 2009 16:05:22 schrieb Sebastian Gödecke:
Guten Tag MailingListe Opensuse,
Ich möchte ein bashscript schreiben, welches in einem ordner wacht und wenn dort jpg's drin sind, diese dann automatisch nach png konvertiert und auch kleiner skaliert.
Prinzipiell klappt der aufruf zum skalieren ( for datei ...) aber bei der bedingung hapert es bei mir: wie bekomme ich es hin, das automatisch erkannt wird, das bilder dort drin sind und das dann übergeben wird?
(...) Eine Lösung könnte ungefähr so aussehen: found=`find /var/log/*log -type f` if [ "$found" != "" ] then for item in $found do echo "gefunden: $item" done else echo "nix gefunden" fi De Pfade und Aktivitäten in der Schleife müssen natürlich angepasst werden. Das Skript würde ich dann mit einem Cronjob zum Beispiel alle fünf Minuten aufrufen. Wie Jürgen Vollmer schon gesagt hat, würdest du mit einem ewig laufenden Skript das System stark belasten. Jürgen -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
![](https://seccdn.libravatar.org/avatar/851d76b261abaeb6ac09dc67aacfc203.jpg?s=120&d=mm&r=g)
On Thursday 09 July 2009 16:05:22 Sebastian Gödecke wrote:
Guten Tag MailingListe Opensuse,
Ich möchte ein bashscript schreiben, welches in einem ordner wacht und wenn dort jpg's drin sind, diese dann automatisch nach png konvertiert und auch kleiner skaliert.
Prinzipiell klappt der aufruf zum skalieren ( for datei ...) aber bei der bedingung hapert es bei mir: wie bekomme ich es hin, das automatisch erkannt wird, das bilder dort drin sind und das dann übergeben wird?
Die inotify-tools könnten dir helfen. Gruß -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (4)
-
Dr. Jürgen Vollmer
-
Juergen Langowski
-
Sebastian Gödecke
-
Volker