Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.os.unix.linux.misc > #113846 > unrolled thread
| Started by | Detlef Paschke <schabau@t-online.de> |
|---|---|
| First post | 2021-01-07 15:45 +0100 |
| Last post | 2021-01-08 10:05 +0100 |
| Articles | 7 — 4 participants |
Back to article view | Back to de.comp.os.unix.linux.misc
Skript Umleitung fortlaufend nummerieren Detlef Paschke <schabau@t-online.de> - 2021-01-07 15:45 +0100
Re: Skript Umleitung fortlaufend nummerieren Thomas Dorner <de.comp.os.unix.linux.misc.210107.dorner@spamgourmet.com> - 2021-01-07 17:00 +0100
Re: Skript Umleitung fortlaufend nummerieren Detlef Paschke <schabau@t-online.de> - 2021-01-07 18:21 +0100
Re: Skript Umleitung fortlaufend nummerieren Andreas Karrer <ak-0a@gmx.ch> - 2021-01-07 16:29 +0000
Re: Skript Umleitung fortlaufend nummerieren Detlef Paschke <schabau@t-online.de> - 2021-01-07 18:12 +0100
Re: Skript Umleitung fortlaufend nummerieren Marcel Mueller <news.5.maazl@spamgourmet.org> - 2021-01-07 19:55 +0100
Re: Skript Umleitung fortlaufend nummerieren Detlef Paschke <schabau@t-online.de> - 2021-01-08 10:05 +0100
| From | Detlef Paschke <schabau@t-online.de> |
|---|---|
| Date | 2021-01-07 15:45 +0100 |
| Subject | Skript Umleitung fortlaufend nummerieren |
| Message-ID | <rt76pr$8br$1@solani.org> |
Hallo, wieder mal eine kleine Skript Frage von mir. Ich habe hier ein kleines Skript um demnächst ein paar Festplatten durch zu testen. Das ist der Hauptbestandteil: echo -e "$(smartctl -a -d megaraid,$d /dev/bus/1)" > ./smart$((n++)).txt Bei jedem Aufruf läuft diese Zeile 4 mal durch und erzeugt die nummerierten Output-Dateien. Soweit so gut. Nun muss ich das Skript aber mehrfach für verschiedene Festplatten aufrufen und um mir ein wenig Hin- und Her- Kopieren zu sparen wäre es natürlich schön, wenn das nummerieren mit Bezug auf die schon vorhandenen Dateien erfolgt. Sprich, sind bereits Dateien smart[n].txt vorhanden, dann beginne bei der nächst höheren Nummer. Man kann sicher, aber lässt sich so etwas auch mit wenig Aufwand lösen? Wie es oft so ist, meist steckt man nur aus Wissbegierde, in die Problemlösung mehr Zeit, als die Handarbeit gekostet hätte. ;-) Viele Grüße Detlef Paschke -- Das "Zitat des Augenblicks" gibt es nur auf http://www.schabau.dynip.online Meine "Merkzettel" http://www.helpdesk.dynip.online
[toc] | [next] | [standalone]
| From | Thomas Dorner <de.comp.os.unix.linux.misc.210107.dorner@spamgourmet.com> |
|---|---|
| Date | 2021-01-07 17:00 +0100 |
| Message-ID | <6elfd4ivp2.fsf@th-dorner.de> |
| In reply to | #113846 |
Hallo Detlef!
> Sprich, sind bereits Dateien smart[n].txt vorhanden, dann beginne bei
> der nächst höheren Nummer.
So in etwa (wenn die Zeitstempel in der richtigen Reihenfolge sind)?
n=$(ls -tr1 smart*.txt 2>/dev/null | tail -1)
n=${n#smart}
n=${n%.txt}
[ -n "$n" ] || n=0 # oder 1, was immer Dein Anfangswert ist
> Wie es oft so ist, meist steckt man nur aus Wissbegierde, in die
> Problemlösung mehr Zeit, als die Handarbeit gekostet hätte. ;-)
Auf jeden Fall! :-)
Viele Grüße, Thomas
--
Adresse gilt nur kurzzeitig!
[toc] | [prev] | [next] | [standalone]
| From | Detlef Paschke <schabau@t-online.de> |
|---|---|
| Date | 2021-01-07 18:21 +0100 |
| Message-ID | <rt7fv1$rbt$1@solani.org> |
| In reply to | #113849 |
Am 07.01.2021 um 17:00 schrieb Thomas Dorner:
> Hallo Detlef!
Hallo Thomas,
>> Sprich, sind bereits Dateien smart[n].txt vorhanden, dann beginne bei
>> der nächst höheren Nummer.
>
> So in etwa (wenn die Zeitstempel in der richtigen Reihenfolge sind)?
Der Zeitstempel zwischen den Aufrufen ist auf jeden Fall gegeben da die
Festplatten getauscht werden müssen. Innerhalb eines Aufruf wenn die
Zeile mehrfach hintereinander mit unterschiedlichen Adressen aufgerufen
wird, kann es knapp werden. (0.1 Sekunden Bereich)
> n=$(ls -tr1 smart*.txt 2>/dev/null | tail -1)
> n=${n#smart}
> n=${n%.txt}
> [ -n "$n" ] || n=0 # oder 1, was immer Dein Anfangswert ist
Schaue ich mir auf jeden Fall auch an.
>> Wie es oft so ist, meist steckt man nur aus Wissbegierde, in die
>> Problemlösung mehr Zeit, als die Handarbeit gekostet hätte. ;-)
>
> Auf jeden Fall! :-)
Aber Spaß macht es auch, die Skripte speichert man und die eine oder
andere Zeile braucht man mal wo anders.
Danke Dir.
> Viele Grüße, Thomas
Viele Grüße
Detlef Paschke
--
Das "Zitat des Augenblicks" gibt es nur auf
http://www.schabau.dynip.online
Meine "Merkzettel"
http://www.helpdesk.dynip.online
[toc] | [prev] | [next] | [standalone]
| From | Andreas Karrer <ak-0a@gmx.ch> |
|---|---|
| Date | 2021-01-07 16:29 +0000 |
| Message-ID | <slrnrvedmm.73nu.ak-0a@chimborazo.ee.ethz.ch> |
| In reply to | #113846 |
* Detlef Paschke <schabau@t-online.de>: > Ich habe hier ein kleines Skript um demnächst ein paar Festplatten durch > zu testen. Das ist der Hauptbestandteil: > > echo -e "$(smartctl -a -d megaraid,$d /dev/bus/1)" > ./smart$((n++)).txt Was ist die Absicht bei echo -e "$(....)" ? Warum nicht einfach smartctl -a -d megaraid,$d /dev/bus/1 > ./smart$((n++)).txt > Bei jedem Aufruf läuft diese Zeile 4 mal durch und erzeugt die > nummerierten Output-Dateien. Soweit so gut. > > Nun muss ich das Skript aber mehrfach für verschiedene Festplatten > aufrufen und um mir ein wenig Hin- und Her- Kopieren zu sparen wäre es > natürlich schön, wenn das nummerieren mit Bezug auf die schon > vorhandenen Dateien erfolgt. > Sprich, sind bereits Dateien smart[n].txt vorhanden, dann beginne bei > der nächst höheren Nummer. Mit ``[ -e fname ]'' testet man, ob ein Verzeichniseintrag "fname" existiert. Vor der "smartctl"-Zeile dies einfügen: n=0 while [ -e "smart$n.txt" ]; do ((n++)); done (wenn die Files ab 1 numeriert sind, natuerlich "n=1"). - Andi
[toc] | [prev] | [next] | [standalone]
| From | Detlef Paschke <schabau@t-online.de> |
|---|---|
| Date | 2021-01-07 18:12 +0100 |
| Message-ID | <rt7fel$q9a$1@solani.org> |
| In reply to | #113851 |
Am 07.01.2021 um 17:29 schrieb Andreas Karrer: > * Detlef Paschke <schabau@t-online.de>: > >> Ich habe hier ein kleines Skript um demnächst ein paar Festplatten durch >> zu testen. Das ist der Hauptbestandteil: >> >> echo -e "$(smartctl -a -d megaraid,$d /dev/bus/1)" > ./smart$((n++)).txt > > Was ist die Absicht bei echo -e "$(....)" ? Warum nicht einfach > > smartctl -a -d megaraid,$d /dev/bus/1 > ./smart$((n++)).txt Das habe ich nur aus einem anderen Skipt raus kopiert wo man das echo brauchte. Weiß gar nicht mehr warum??? Aber klar ohne echo sollte ja auch gehen. > >> Bei jedem Aufruf läuft diese Zeile 4 mal durch und erzeugt die >> nummerierten Output-Dateien. Soweit so gut. >> >> Nun muss ich das Skript aber mehrfach für verschiedene Festplatten >> aufrufen und um mir ein wenig Hin- und Her- Kopieren zu sparen wäre es >> natürlich schön, wenn das nummerieren mit Bezug auf die schon >> vorhandenen Dateien erfolgt. >> Sprich, sind bereits Dateien smart[n].txt vorhanden, dann beginne bei >> der nächst höheren Nummer. > > Mit ``[ -e fname ]'' testet man, ob ein Verzeichniseintrag "fname" existiert. > Vor der "smartctl"-Zeile dies einfügen: > > n=0 > while [ -e "smart$n.txt" ]; do ((n++)); done > > > (wenn die Files ab 1 numeriert sind, natuerlich "n=1"). Danke, schaue ich mir mal an. > - Andi Viele Grüße Detlef Paschke -- Das "Zitat des Augenblicks" gibt es nur auf http://www.schabau.dynip.online Meine "Merkzettel" http://www.helpdesk.dynip.online
[toc] | [prev] | [next] | [standalone]
| From | Marcel Mueller <news.5.maazl@spamgourmet.org> |
|---|---|
| Date | 2021-01-07 19:55 +0100 |
| Message-ID | <rt7leg$dds$2@gwaiyur.mb-net.net> |
| In reply to | #113846 |
Am 07.01.21 um 15:45 schrieb Detlef Paschke: > Bei jedem Aufruf läuft diese Zeile 4 mal durch und erzeugt die > nummerierten Output-Dateien. Soweit so gut. > > Nun muss ich das Skript aber mehrfach für verschiedene Festplatten > aufrufen und um mir ein wenig Hin- und Her- Kopieren zu sparen wäre es > natürlich schön, wenn das nummerieren mit Bezug auf die schon > vorhandenen Dateien erfolgt. > Sprich, sind bereits Dateien smart[n].txt vorhanden, dann beginne bei > der nächst höheren Nummer. Nimm doch lieber den Namen und die Seriennummer von der Platte als festen Präfix. Dann kannst Du die Dateien sehr leicht zuordnen. Marcel
[toc] | [prev] | [next] | [standalone]
| From | Detlef Paschke <schabau@t-online.de> |
|---|---|
| Date | 2021-01-08 10:05 +0100 |
| Message-ID | <rt977s$bk8$1@solani.org> |
| In reply to | #113856 |
Am 07.01.2021 um 19:55 schrieb Marcel Mueller: > Am 07.01.21 um 15:45 schrieb Detlef Paschke: >> Bei jedem Aufruf läuft diese Zeile 4 mal durch und erzeugt die >> nummerierten Output-Dateien. Soweit so gut. >> >> ... >> Sprich, sind bereits Dateien smart[n].txt vorhanden, dann beginne bei >> der nächst höheren Nummer. > > Nimm doch lieber den Namen und die Seriennummer von der Platte als > festen Präfix. Dann kannst Du die Dateien sehr leicht zuordnen. Ja, selbst die SN würde genügen. Hatte ich auch überlegt. Das auslesen der Seriennummer ist mir zwar gelungen, ich brauchte aber den gleichen Ablauf (for d in ...;do) wie ich ihn zum auslesen der SMART-Daten an den einzelnen Ports des Megaraid habe, noch einmal um für den Dateinamen die SN zu ermitteln und einzufügen. Vermutlich hätte man die SN auch mit grep oder irgend was aus den jeweiligen SMART-Daten ziehen und als Dateiname anfügen können, aber da bin ich nicht sonderlich firm drin. > Marcel Viele Grüße Detlef Paschke -- Das "Zitat des Augenblicks" gibt es nur auf http://www.schabau.dynip.online Meine "Merkzettel" http://www.helpdesk.dynip.online
[toc] | [prev] | [standalone]
Back to top | Article view | de.comp.os.unix.linux.misc
csiph-web