Es existiert eine FAQ-to-be im CVS auf koehntopp.de. Um an diese Daten zu kommen, kann man entweder ein Anon-CVS Checkout machen (dann kann man aber nicht selber an der FAQ mitarbeiten), oder sich als Editor für die FAQ eintragen lassen. Bitte lest diese Anleitung ganz durch, und laßt Euch unbedingt als FAQ Editor eintragen, auch dann, wenn Ihr Euch nicht für die Linux-Helden haltet. Mehr dazu unten. Anon CVS Checkout ================= Einmalig: kris@p15104972:/var/tmp> cvs -d :pserver:anonymous@koehntopp.de:/faq login Logging in to :pserver:anonymous@koehntopp.de:2401/faq CVS password: <return> kris@p15104972:/var/tmp> cvs -d :pserver:anonymous@koehntopp.de:/faq co suse-linux-faq U suse-linux-faq/.cvsignore U suse-linux-faq/README U suse-linux-faq/autoren.xml U suse-linux-faq/reclist.xml U suse-linux-faq/synonyme.xml U suse-linux-faq/chapters/about.xml U suse-linux-faq/dtd/README U suse-linux-faq/dtd/cheatsheet.txt U suse-linux-faq/dtd/sl-faq.dtd U suse-linux-faq/dtd/spickzettel.txt Danach täglich: kris@p15104972:~> cd /var/tmp/suse-linux-faq kris@p15104972:/var/tmp/suse-linux-faq> cvs update ... Als Editor eintragen lassen: ============================ Sende Deinen SSH Public Key ($HOME/.ssh/id_dsa.pub oder $HOME/.ssh/id_rsa.pub) an kris@koehntopp.de mit der Bitte um Aufnahme. Ich richte dann einen Account ein: kris@p15104972:/home/neitzel> cat .ssh/authorized_keys command="/usr/bin/cvs server",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-dss ... neitzel@Freebsd.local command="/usr/bin/cvs server",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-rsa ... neitzel@Freebsd.local Mit diesem Account kannst Du das CVS auschecken: kris@p15104972:~/Source> export CVS_RSH=ssh kris@p15104972:~/Source> cvs -d :ext:kris@koehntopp.de:/home/cvsroot/faq co suse-linux-faq kris@koehntopp.de's password: U suse-linux-faq/.cvsignore U suse-linux-faq/README U suse-linux-faq/autoren.xml U suse-linux-faq/reclist.xml U suse-linux-faq/synonyme.xml U suse-linux-faq/chapters/about.xml U suse-linux-faq/dtd/README U suse-linux-faq/dtd/cheatsheet.txt U suse-linux-faq/dtd/sl-faq.dtd U suse-linux-faq/dtd/spickzettel.txt Du kannst nun außerdem mit "cvs add" und "cvs commit" dort Dateien bearbeiten. Mailingliste zur FAQ ==================== Wir haben eine Mailingliste zur FAQ. Dort sind mindestens alle Teilnehmer am CVS mit commit-Rechten eingetragen. Andere Interessierte können sich dort aber ebenfalls eintragen. Dazu ist eine Mail an suse-linux-faq-subscribe@lists.koehntopp.de zu senden. Der Listserver wird eine Anmeldebestätigung verlangen, Reply genügt. In Kürze werden auf dieser Liste auch cvs commit Messages erscheinen. Bitte entschuldigt, daß der XML Renderer für die FAQ noch nicht fertig ist - auf http://suse-linux-faq.koehntopp.de/ ist noch nichts zu sehen. Ich stecke gerade tief in zwei größeren Projekten und habe daher nur eingeschränkt Zeit. Content einsenden ================= Bitte sende keinen Content ein, wenn Du auch CVS direkt benutzen könntest. Comitte Deinen Kram einfach, auch dann, wenn Du weißt, daß er noch ungetestet ist, das Markup nicht stimmt oder er andere Schwächen hat. Die meisten Leute sind Differenztypen, sie können viel besser etwas verbesser als etwas neues schaffen. Daher ist es wichtig, daß Du Themen anfängst, die Dir fehlen, auch wenn sie nicht perfekt oder noch nicht einmal gut sind. Wenn Du keine Ahnung von CVS hast, helfen wir Dir gerne beim Einstieg - Hilfe findest Du auf suse-linux-faq@lists.koehntopp.de, und es sind wirklich nur drei Kommandos, um die es geht. Wenn Du absolut keine Möglichkeit hast, einen CVS commit zu mache, sende sauber formatierten (kein Markup!) Text an die Liste. Jemand kann das dann einarbeiten. Das ist aber ganz klar zweite Wahl gegenüber einem eigenen Commit, aber immerhin besser als gar nix zu tun. Kristian
Moin zusammen, beschäftige mich damit, einen Vorgang in einem Script zu automatisieren und hoffe, das der eine oder andere von euch mir vielleicht ein paar Stichworte oder Hints geben kann. Die Aufgabe: Log-Dateien, die ein Tagesdatum im Namen tragen, sollen ausgewertet werden. Und zwar immer die Dateien des Vortages. Das bringt mich ein wenig in Schwierigkeiten. Ich erhalte über date zwar das aktuelle Datum, kann so aber schlecht einen Tag zurückrechnen. Ich habe in dunkler Erinnerung, das es eine Art Counter in Unix gibt, der die Sekunden ab einem bestimmten Tag um die 1970 oder so zählt. Gibt es den wirklich und könnte ich den benutzen, indem ich dann die Sekunden eines Tages einfach abziehe? Meine Idee wäre halt, das momentane Datum zu erfragen, einen Tag zurückzurechnen und das ganze in einen String zu basteln, der von der Form her dem Namen der Log-Dateien ähnelt: bla_blub_01072003.txt Also etwa: 01072003 Dann könnte ich danach grepen und die Zieldateien weiterverarbeiten. Hat da einer einen Tip für mich, wonach ich dafür am Besten Ausschau halten muß? Thx, Bernd -- One OS to rule them all, one OS to find them. One OS to bring them all, and in the darkness bind them In the land of Redmond, where the shadows lie.
* Am Die, 08 Jul 2003 schrieb Bernd Tannenbaum:
Moin zusammen,
beschäftige mich damit, einen Vorgang in einem Script zu automatisieren und hoffe, das der eine oder andere von euch mir vielleicht ein paar Stichworte oder Hints geben kann.
Ein wichtiger Hinweis wäre doch schonmal, für ein neues Thema einen neuen Thread zu beginnen, das macht die Sache einfach übersichtlicher und erhöht Deine Chancen gelesen zu werden (bestimmte Threads wandern bei mir z.B. automatisch in den Papierkorb, ohne dass ich sie überhaupt sehe).
Die Aufgabe: Log-Dateien, die ein Tagesdatum im Namen tragen, sollen ausgewertet werden. Und zwar immer die Dateien des Vortages.
Das bringt mich ein wenig in Schwierigkeiten. Ich erhalte über date zwar das aktuelle Datum, kann so aber schlecht einen Tag zurückrechnen. Ich habe in dunkler Erinnerung, das es eine Art Counter in Unix gibt, der die Sekunden ab einem bestimmten Tag um die 1970 oder so zählt. Gibt es den wirklich und könnte ich den benutzen, indem ich dann die Sekunden eines Tages einfach abziehe?
Meine Idee wäre halt, das momentane Datum zu erfragen, einen Tag zurückzurechnen und das ganze in einen String zu basteln, der von der Form her dem Namen der Log-Dateien ähnelt: bla_blub_01072003.txt Also etwa: 01072003 Dann könnte ich danach grepen und die Zieldateien weiterverarbeiten.
Hat da einer einen Tip für mich, wonach ich dafür am Besten Ausschau halten muß?
info date (Da ist man date leider nicht ausführlich genug). Info ist zwar grauenvoll, aber im Konqueror z.B. recht komfortabel zu lesen. Was Du suchst, ist so etwas wie: date -d "1 day ago" Gruß Christoph -- Christoph Maurer - Tux#194235 - christoph-maurer at gmx.de
Meine Idee wäre halt, das momentane Datum zu erfragen, einen Tag zurückzurechnen und das ganze in einen String zu basteln, der von der F orm her dem Namen der Log-Dateien ähnelt: bla_blub_01072003.txt
Moin alleine perl -e 'use POSIX;print strftime "%d%m%Y",localtime time-60*60*24' Nebenbei halte ich es für eine dumme Idee, Daten in der Form TTMMJJJJ anzugeben. JJJJMMTT is deutlich praktischer bei ls. -- +++ GMX - Mail, Messaging & more http://www.gmx.net +++ Jetzt ein- oder umsteigen und USB-Speicheruhr als Prämie sichern!
Hallo Bernd, * Bernd Tannenbaum schrieb am 08.Jul.2003:
Die Aufgabe: Log-Dateien, die ein Tagesdatum im Namen tragen, sollen ausgewertet werden. Und zwar immer die Dateien des Vortages.
Das bringt mich ein wenig in Schwierigkeiten. Ich erhalte über date zwar das aktuelle Datum, kann so aber schlecht einen Tag zurückrechnen. Ich habe in dunkler Erinnerung, das es eine Art Counter in Unix gibt, der die Sekunden ab einem bestimmten Tag um die 1970 oder so zählt. Gibt es den wirklich und könnte ich den benutzen, indem ich dann die Sekunden eines Tages einfach abziehe?
Viel einfacher: Hat zwar nichts mit einem Skript zu tun, aber das was Du willst, bringt das GNU-date von zu Hause her mit. date --date '-1 day' oder auch date --date '1 day ago' und es wird das Datum von gestern angezeigt. Siehe hierzu info date
Meine Idee wäre halt, das momentane Datum zu erfragen, einen Tag zurückzurechnen und das ganze in einen String zu basteln, der von der Form her dem Namen der Log-Dateien ähnelt: bla_blub_01072003.txt Also etwa: 01072003
Das machst Du denn mit: date --date '-1 day' '+%d%m%Y' Siehe hierzu info date, oder auch date --help Allerding stellt sich die Frage, ob das Datum in diesem Format sinnvoll ist. Viel besser in Dateinamen ist doch das Datum nach ISO, also zuerst das Jahr, dann der Monat, dann der Tag. So hast Du es einheitlich von groß nach klein. Also zuerst das Jahrtausend, dann das Jahrhundert, dann das Jahrzehnt, dann das Jahr, dann die Zehner Monatsstelle, dann die Einer Monatsstelle, dann die Tagesdekade, dann der Tag und das kann man gut sortieren. Weil es eine fixe Länge hat, braucht man noch nichteinmal numerisch zu sortieren. Alphabetisch reicht völlig. So wie Du es vorgeschlagen hast, also zu erst den Tag, dann den Monat und zum schluß das Jahr, da ist doch alles durcheinander. Es ist in den einzelnen Feldern ja so, daß die größere Stelle vorne steht, wie bei Zahlen üblich. Ein Datum nach ISO machst Du folgendermaßen: (immer Datum von gestern) date --date '-1 day' '+%Y%m%d' oder wenn Du - zwischen den einzelnen Teilen haben willst: date --date '-1 day' '+%Y-%m-%d' mit den - ist der ISO-Regelfall, ohne ist aber auch erlaubt. Bernd -- Was ist quoten? Quoten ist das Zitieren aus einer mail, der man antwortet. Und wie macht man es richtig? Zitate werden mit "> " gekennzeichnet. Nicht mehr als nötig zitieren. Vor den Abschnitten das Zitat, auf das man sich bezieht, mit einer Zeile Abstand oben und unten. |Zufallssignatur 12
Danke schön, klappt prima. Hab mich für die Variante "date --date '-1 day' '+%m%d'" entschieden, laüft nun schon so wie es soll. Noch eine kleine Anmerkung: Ich hab mir das Format der Logs nicht ausgesucht. Will sagen, das Datum im Namen wird von einer extern programmierten Software eben so in den Dateinamen geschrieben, das kann ich leider nicht beeinflussen. Das sich das an keinerlei Normen oder Konventionen hält, muss ich hinnehmen... Dank an alle Hints, Bernd -- One OS to rule them all, one OS to find them. One OS to bring them all, and in the darkness bind them In the land of Redmond, where the shadows lie.
participants (5)
-
B.Brodesser@t-online.de
-
Bernd Tannenbaum
-
Christoph Maurer
-
Kristian Koehntopp
-
Stephan Hradek